|  30.01.2009, 09:53 | #1 | 
| Участник | mazzy: Комфортный ProgressBar 
			
			Источник: http://axapta.mazzy.ru/lib/comfort_progressbar/ ============== Совет о том, как сделать стандартный ProgressBar более удобным, изменив всего лишь одну строчку кода. ============== Источник: http://axapta.mazzy.ru/lib/comfort_progressbar/ 
				__________________ Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. Последний раз редактировалось Gustav; 30.01.2009 в 10:01. Причина: исправление ссылки | 
|  | 
|  30.01.2009, 11:06 | #2 | 
| Moderator | 
			
			Сергей, так я ж писал заметку об этом еще когда работал в РНР. Даже вот файл нашел который тебе отправлял ... А вот старой заметки на сайте не нашел  P.S. Я не претендую на авторство, просто интересно куда делось то что было. 
				__________________ С уважением, kvan. | 
|  | |
| За это сообщение автора поблагодарили: mazzy (2), ZVV (1), miklenew (2). | |
|  30.01.2009, 11:10 | #3 | 
| Участник | Цитата: Пользуюсь давно и каждый раз радуюсь. Спасибо. Но файл не нашел, переписал заново. Можешь прислать файл? Добавлю текст и добавлю тебя в авторы. ===================== В прошлом году статей/советов практически не было. А сейчас пойдет серия советов/статей по старым наработкам, которыми мы пользуемся уже очень давно. | 
|  | 
|  30.01.2009, 11:22 | #4 | 
| Moderator | 
			
			Спросил бы что ли ...   В авторы не нужно. В заметке я писал что есть (вернее была в тройке, в четверке уже нет) форма SysOperationProgress которая вводила в заблуждение. Думаю что стоит об этом написать. Постоянно убеждаюсь что тройка очень распространена и до сих пор много работы с ней связано. 
				__________________ С уважением, kvan. | 
|  | 
|  30.01.2009, 11:27 | #5 | 
| Участник | |
|  | 
|  30.01.2009, 11:29 | #6 | 
| Пенсионер | 
			
			в свое время на 2.5 я дорабатывал стандартный прогресс бар, так что можно было менять его ширину и самое главное оно выдавала строку действия вида "Капирую c:\Program Files\...\client\bin\ax32.exe" зы: если интересно попробую найти 
				__________________  Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ | 
|  | 
|  30.01.2009, 11:29 | #7 | 
| Moderator | 
			
			Я отправил письмо. Смотри в спаме ... письма от меня у тебя в спам попадают. 2blokva: Я думаю что это было бы интересно, 2.5 кое-где еще используется. 
				__________________ С уважением, kvan. | 
|  | 
|  30.01.2009, 11:47 | #8 | 
| Участник | 
			
			Интересно. Цитата:   | 
|  | 
|  30.01.2009, 11:54 | #9 | 
| Участник | 
			
			внес изменения. Спасибо тебе, Антон.   | 
|  | |
| За это сообщение автора поблагодарили: ZVV (1). | |
|  30.01.2009, 12:50 | #10 | 
| Участник | 
			
			Так можно для тех, кто не хочет много времени тратить, исследуя код: Для каких это версий? У меня в текущей версии в этом методе этого класса нет установки ширины формы вообще | 
|  | 
|  30.01.2009, 13:00 | #11 | 
| Участник | Цитата: страшно далек ты от народа  сейчас добавлю информацию о версиях. | 
|  | 
|  30.01.2009, 13:31 | #12 | 
| Участник | 
			
			кстати, в ax2009 более запущенный случай так и не смог победить эту багу: Отправьте баги в Майкрософт кстати, может хочешь написать совет на эту тему по ax2009? с удовольствием вставлю твой вместо своего. | 
|  | 
|  05.02.2009, 19:54 | #13 | 
| Пенсионер | 
			
			Вот нашел в архивах. прошу прощения проверить не могу 2.5  нету, но насколько я помню там все оказалось просто в методе: X++: private str textTranc(str _text) { int txtWith, i = 9; str textTmp = _text; txtWith = conpeek(winapi::getLineDim(_text), 1); while (txtWith > 250) { textTmp = substr(_text, 1, 8) + '...' + substr(_text, i, strlen(_text) - i+1); txtWith = conpeek(winapi::getLineDim(textTmp), 1); i++; } return textTmp; } X++: void setText(str _text, int _idx = 1) { if (!_text) _text = ' '; //avoid flicker progressText[_idx] = this.textTranc(_text); this.update(); } X++: // blokva 16.02.2004 -->> Метод возвращает контейнер с длиной (1) и высотой (2) строки текста в ПИКСЕЛАХ client static container getLineDim(str strtarget) { int x, y; HWND deviceContext; Binary point = new Binary(#offset8); Binary bstr = new Binary(strtarget); DLL _DLL = new DLL('GDI32'); DLLFunction _getTextExtentPoint32 = new DLLFunction(_DLL, 'GetTextExtentPoint32A'); deviceContext = WinApi::createDC(); _getTextExtentPoint32.returns(ExtTypes::DWORD); _getTextExtentPoint32.arg(ExtTypes::DWORD, ExtTypes::POINTER, ExtTypes::DWORD, ExtTypes::POINTER); _getTextExtentPoint32.call(deviceContext, bstr, strlen(strtarget), point); x = point.dWord(#Offset0); y = point.dWord(#sizeOfInt); return [x, y]; } 
				__________________  Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ | 
|  | |
| За это сообщение автора поблагодарили: mazzy (2). | |