![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SendMessage для Edit [D6, Win2k]
Me2 © (2002-10-23 10:06:00)Посылаю сообщение
SendMessage(Edit, wm_SetText,0, Longint(@PathToDir[1]));
Но в текстовом поле ни чего не отображается. Что надо исправить?
Игорь Шевченко (2002-10-23 12:07:00) [1]Me2 (23.10.02 12:01)
> Еще раз всем спасибо.
Нас разве так много ? :-)))
Me2 (2002-10-23 12:01:00) [2]Да, спасибо, я уже сделал. То я последний раз высказался не подумав. Еще раз всем спасибо.
Игорь Шевченко (2002-10-23 11:36:00) [3]В основном окне
case message of
...
WM_CREATE:
begin
Edit := CreateWindow (.....);
SetWindowText(Edit, PChar(...));
end;
...
end;
Me2 (2002-10-23 11:21:00) [4]Игорь Шевченко © (23.10.02 11:12)
wm_Create: begin
case LoWord(wParam) of
200: case HiWord(wParam) of
wm_Create: begin
Init;
SetWindowText(Edit, "dsdsdsd");
end;
end;
end;
Не получается.
end;
Игорь Шевченко (2002-10-23 11:12:00) [5]Me2 (23.10.02 10:54)
А...я полагал, WM_CREATE имеется в виду от Edit"а.
Тогда второй createwindow надо выдавать внутри WM_CREATE основного окна, и по получении Handle выдавать SetWindowText
Me2 (2002-10-23 10:54:00) [6]Не получается, так как (посмотрите внимательно на код) когда создается окно еще нет текстового поля - оно создается след. коммандой.
Игорь Шевченко (2002-10-23 10:45:00) [7]Me2 (23.10.02 10:34)
В wm_create сказать SetWindowText не получается ?
Me2 (2002-10-23 10:34:00) [8]Я увидел проблему - я вызываю SendMessage в обработчике сообщеня wm_ShowWindow и SendMessage не срабатывает, но, например, срабатывает в обработчике клика по кнопке. Тогда возникает вопрос - в обработчике какого сообщения необходимо произвести инициализацию(кстати, wm_Create тоже че-то работать не хочет)
Alibaba (2002-10-23 10:25:00) [9]В случае с CreateWindow разве не создается Handle?
Me2 (2002-10-23 10:24:00) [10]Хорошо. Создаю окно с текст. полем:
Window := CreateDialog(hInstance,MAKEINTRESOURCE(10),0,@WndProc);
Edit := CreateWindow("EDIT",
"",
WS_CHILD or DS_3DLOOK or WS_VISIBLE or WS_BORDER,
18,
19,
250,
20,
Window,
200,
hInstance,
niL);
А теперь при создании окна необходимо в текст. поле добавить строку, например, находящуюся в переменной DirPath: string. Я делаю так, как показал выше.
Игорь Шевченко (2002-10-23 10:19:00) [11]Me2 (23.10.02 10:13)
Показать больше кода
Me2 (2002-10-23 10:13:00) [12]По поводу рук - я и сам знаю :). А Edit - это не визуальный компонент, а дескриптор текстового поля, созданного функцией CreateWindow. В этом случае что делать?
MBo (2002-10-23 10:09:00) [13]Edit.Handle
Игорь Шевченко (2002-10-23 10:08:00) [14]Руки