Автор | Сообщение |
|
| |
Пост N: 63
Зарегистрирован: 05.06.07
|
|
Отправлено: 11.08.08 05:26. Заголовок: ? Пара небольших косяков - NoSize и Label - или что-то не так делаю
1. Создаю динамически в окне с белым фоном {255,255,255} DEFINE LABEL &bn PARENT wMain COL X2+if(t>9,11,14)+h*(j-1) ROW r1 VALUE alltrim(str(t)) WIDTH h HEIGHT h FONTNAME "Arial" FONTSIZE 9 FONTBOLD .T. TRANSPARENT .T. END LABEL но объект выводится на сером фоне (по-умолчанию?) в отличии от загруженного с такими же параметрами вместе с окном. После операции Minimize - Restore - становится как должно - на белом фоне. Это у всех так? 2. Поставил в окне NoSize=.t. что бы пользователь не мог сам менять размер окна двигаю границы. Но меняю размер окна из программы в зависимости от выбранных данных. Так вот при этом не срабатывает модуль OnSize прописанный для окна. Это такая задумка? P.S.Ну это-то проще исправить - вызывать явно там, где меняется размер окна.
|
|
|
Ответов - 6
[только новые]
|
|
|
| модератор
|
Пост N: 827
Зарегистрирован: 25.05.05
|
|
Отправлено: 11.08.08 10:26. Заголовок: SADSTAR2 пишет: объ..
SADSTAR2 пишет: цитата: | объект выводится на сером фоне (по-умолчанию?) в отличии от загруженного с такими же параметрами вместе с окном. |
| При активации окна вызывается функция UpdateWindow ( hWnd ) для перерисовки окна, поэтому все выводится нормально SADSTAR2 пишет: цитата: | Так вот при этом не срабатывает модуль OnSize прописанный для окна. Это такая задумка? |
| Видимо, так работает WinAPI: не выдает запрос на событие изменения формы, если установлено, что размер окна не должен изменяться пользователем
|
|
|
|
| |
Пост N: 64
Зарегистрирован: 05.06.07
|
|
Отправлено: 12.08.08 00:59. Заголовок: Маэстро, вы неправы
Маэстро, вы неправы чистый тестовый пример #include <minigui.ch> function Main() DEFINE WINDOW wMain ; AT 167,340 ; HEIGHT 400 ; WIDTH 474 ; TITLE "New Form" ; ICON "" ; MAIN ; NOMAXIMIZE ; NOSIZE ; CURSOR "" ; BACKCOLOR {255,255,255} ; FONT "Arial" SIZE 9 DEFINE BUTTON BUTTON_1 COL 220 ROW 320 WIDTH 210 HEIGHT 30 CAPTION "Create label" PICTURE Nil ICON Nil ACTION Create_label() FONTNAME "Arial" FONTSIZE 10 FONTBOLD .F. FONTITALIC .F. FONTUNDERLINE .F. FONTSTRIKEOUT .F. FONTCOLOR Nil ONGOTFOCUS Nil ONLOSTFOCUS Nil HELPID Nil FLAT .F. TABSTOP .T. TRANSPARENT .F. TOOLTIP Nil VISIBLE .T. DEFAULT .F. END BUTTON END WINDOW center window wMain activate window wMain return Nil //-------------------------------- static function create_label() if IsControlDefined(lbl_proba, wMain) wMain.lbl_Proba.Release() do events endif DEFINE LABEL lbl_proba PARENT wMain COL 20 ROW 20 VALUE 'Ïðîâåðêà äèíàìè÷åñêîãî âûâîäà '+time() WIDTH 300 HEIGHT 20 FONTNAME "Arial" FONTSIZE 9 FONTBOLD .T. TRANSPARENT .T. END LABEL return Nil
|
|
|
|
| модератор
|
Пост N: 829
Зарегистрирован: 25.05.05
|
|
Отправлено: 12.08.08 10:21. Заголовок: SADSTAR2 пишет: чис..
SADSTAR2 пишет: На моей конфигурации Win98SE/Harbour 1.0.0/MiniGUI Ext. build 54 проблем с отображением текста на белом фоне нет
|
|
|
|
| |
Пост N: 65
Зарегистрирован: 05.06.07
|
|
Отправлено: 13.08.08 07:40. Заголовок: Странно. Я вроде тож..
Странно. Я вроде тоже с Harbour MiniGUI 1.5 Extended Edition (Build 54) - 2008.07.30 но под XP ! Проверил на 4-х компах с XP - косяк. Нашел комп с 98 - там все ОК !!!! И как с этим бороться под XP?
|
|
|
|
| модератор
|
Пост N: 830
Зарегистрирован: 25.05.05
|
|
Отправлено: 13.08.08 10:43. Заголовок: SADSTAR2 пишет: как..
SADSTAR2 пишет: цитата: | как с этим бороться под XP? |
| Рабочий пример: #include <minigui.ch> function Main() DEFINE WINDOW wMain ; AT 167,340 ; HEIGHT 400 ; WIDTH 474 ; TITLE "New Form" ; ICON NIL ; MAIN ; NOMAXIMIZE ; NOSIZE ; CURSOR NIL ; BACKCOLOR {255,255,255} ; FONT "Arial" SIZE 9 DEFINE BUTTON BUTTON_1 COL 220 ROW 320 WIDTH 210 HEIGHT 30 CAPTION "Create label" PICTURE Nil ICON Nil ACTION Create_label() FONTNAME "Arial" FONTSIZE 10 FONTBOLD .F. FONTITALIC .F. FONTUNDERLINE .F. FONTSTRIKEOUT .F. FONTCOLOR Nil ONGOTFOCUS Nil ONLOSTFOCUS Nil HELPID Nil FLAT .F. TABSTOP .T. TRANSPARENT .F. TOOLTIP Nil VISIBLE .T. DEFAULT .F. END BUTTON END WINDOW center window wMain activate window wMain return Nil //-------------------------------- static function create_label() if IsControlDefined(lbl_proba, wMain) wMain.lbl_Proba.Release() do events endif DEFINE LABEL lbl_proba PARENT wMain COL 20 ROW 20 VALUE 'Текущее время '+time() WIDTH 300 HEIGHT 20 FONTNAME "Arial" FONTSIZE 9 FONTBOLD .T. TRANSPARENT .T. END LABEL //-------------------------------- wMain.lbl_proba.refresh // <---- //-------------------------------- return Nil
|
|
|
|
| |
Пост N: 67
Зарегистрирован: 05.06.07
|
|
Отправлено: 14.08.08 00:15. Заголовок: Ок. Работает...
Ок. Работает.
|
|
|
|