Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

SendMessage для Edit   Найти похожие ветки 

 
Me2   (2002-10-23 10:06) [0]

Посылаю сообщение
SendMessage(Edit, wm_SetText,0, Longint(@PathToDir[1]));
Но в текстовом поле ни чего не отображается. Что надо исправить?


 
Игорь Шевченко ©   (2002-10-23 10:08) [1]

Руки


 
MBo ©   (2002-10-23 10:09) [2]

Edit.Handle


 
Me2   (2002-10-23 10:13) [3]

По поводу рук - я и сам знаю :). А Edit - это не визуальный компонент, а дескриптор текстового поля, созданного функцией CreateWindow. В этом случае что делать?


 
Игорь Шевченко ©   (2002-10-23 10:19) [4]

Me2 (23.10.02 10:13)

Показать больше кода


 
Me2   (2002-10-23 10:24) [5]

Хорошо. Создаю окно с текст. полем:
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. Я делаю так, как показал выше.


 
Alibaba ©   (2002-10-23 10:25) [6]

В случае с CreateWindow разве не создается Handle?


 
Me2   (2002-10-23 10:34) [7]

Я увидел проблему - я вызываю SendMessage в обработчике сообщеня wm_ShowWindow и SendMessage не срабатывает, но, например, срабатывает в обработчике клика по кнопке. Тогда возникает вопрос - в обработчике какого сообщения необходимо произвести инициализацию(кстати, wm_Create тоже че-то работать не хочет)


 
Игорь Шевченко ©   (2002-10-23 10:45) [8]

Me2 (23.10.02 10:34)

В wm_create сказать SetWindowText не получается ?


 
Me2   (2002-10-23 10:54) [9]

Не получается, так как (посмотрите внимательно на код) когда создается окно еще нет текстового поля - оно создается след. коммандой.


 
Игорь Шевченко ©   (2002-10-23 11:12) [10]

Me2 (23.10.02 10:54)

А...я полагал, WM_CREATE имеется в виду от Edit"а.

Тогда второй createwindow надо выдавать внутри WM_CREATE основного окна, и по получении Handle выдавать SetWindowText


 
Me2   (2002-10-23 11:21) [11]

Игорь Шевченко © (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:36) [12]

В основном окне

case message of
...
WM_CREATE:
begin
Edit := CreateWindow (.....);
SetWindowText(Edit, PChar(...));
end;
...
end;


 
Me2   (2002-10-23 12:01) [13]

Да, спасибо, я уже сделал. То я последний раз высказался не подумав. Еще раз всем спасибо.


 
Игорь Шевченко ©   (2002-10-23 12:07) [14]

Me2 (23.10.02 12:01)

> Еще раз всем спасибо.


Нас разве так много ? :-)))



Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-14659
Whippi
2002-11-25 17:08
2002.12.05
Где Create Component Template ?


6-14710
hex_for_delph
2002-10-10 12:21
2002.12.05
как скатывать с емайла письма с прекреплённыйм файлом ?


1-14530
Dong
2002-11-26 16:40
2002.12.05
Работа с TINIFiles


1-14588
bearoman
2002-11-27 12:26
2002.12.05
Высота в DBgride продолжение - как настроить вертикальнуюпрокурту


1-14638
neXt
2002-11-25 12:58
2002.12.05
COM в консольном приложении на Delphi