Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.014 c
1-14543
TankMan
2002-11-25 21:40
2002.12.05
Есть ли вообще проверка, на корректрость введенного IP?


3-14473
саша
2002-11-19 07:35
2002.12.05
Как просматреть инф-у из таблицы заполняемой другой программой


1-14518
Новичок
2002-11-26 15:06
2002.12.05
Как убрать кнопку максимизации


1-14675
margol
2002-11-25 15:45
2002.12.05
Общее программирование


1-14633
vladnt
2002-11-22 11:01
2002.12.05
Проблема с циклами for





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский