Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизКак развернуть форму??? Найти похожие ветки
← →
RoLeX (2003-10-15 20:52) [0]У меня программа сидит в трее. Надо, чтобы при клике на значок в трее программа разворачивалась. Какой командой развернуть прогу??? Может там как-нить
Application.Maximaze;
или как там пишется???
← →
DVM (2003-10-15 20:53) [1]WM_SYSCOMMAND + SC_RESTORE
ShowWindow + SW_SHOW
Короче, смотря как прятали.
← →
RoLeX (2003-10-15 20:55) [2]А код как именно написать???
← →
DVM (2003-10-15 21:02) [3]SendMessage(Application.Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
А клик мышкой по иконке должен обрабатываться той процедурой, что использовалась при добавлении иконки в качестве функции обратного вызова. Если это какой-то компонент, то там у него в событиях должно быть.
← →
RoLeX (2003-10-15 21:14) [4]Спасибо, работает!
У меня воросик остался: Как из Панели задач убрать (скрыть) программу???
← →
DVM (2003-10-15 21:19) [5]Можно с помощью SetWindowLong + GWL_EXTSTYLE (подробнее в справке)
Убрать у окна например стиль WS_EX_APPWINDOW если он есть.
← →
RoLeX (2003-10-15 21:37) [6]У меня справка на английском. Такчто если можно, напиши полный код!!!
← →
RoLeX (2003-10-16 12:32) [7]АУ!
← →
DVM (2003-10-16 12:37) [8]
> У меня справка на английском.
У меня как ни странно тоже. И в школе я немецкий изучал. Но тем не менее справку я прочитать могу. Учиться и еще раз учиться.
Так можно:
SetWindowLong(Application.Handle,GWL_EXSTYLE,GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
Можно и по-другому.
← →
RoLeX (2003-10-16 12:53) [9]
SetWindowLong(Application.Handle,GWL_EXSTYLE,GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
Всё круто, но когда форму сворачиваешь, над пуском прямоугольник програмы появляется.
← →
DVM (2003-10-16 12:58) [10]Поэкспериментируй со стилями. Таскбар реагирует еще на WS_EX_APPWINDOW. Попробуй его вычесть (or not(WS_EX_APPWINDOW)).
Есть и другие варианты. Можно плюс к тому что ты сделал при сворачивании форму прятать например. Подумай.
← →
RoLeX (2003-10-16 13:15) [11]С
(or not(WS_EX_APPWINDOW)).
тоже самое, тока крестик закрытия проги (на этом прямоугольнике) появляется не справа, а слева; и этот прямоугольник ещё и неактивный.
Как его убрать, этот прямоугольник??
← →
DVM (2003-10-16 13:19) [12]Создай для формы обработчик сообщения WM_SYSCOMMAND. Если приходит SC_MINIMIZE то форму пряч. Как создать обработчик сообщения - не спрашивай, есть в любом FAQ.
← →
RoLeX (2003-10-16 15:57) [13]
procedure TForm1.WMSYSCOMMAND(var msg: TMessage);
begin
inherited; if (Msg.wParam = SC_MINIMIZE) then
Application.ShowMainForm := False;
ShowWindow(Application.Handle, SW_HIDE);
end;
Вот! Он самый код!
Ещё один вопрос: Как сделать, чтобы форма была поверх всех окон?
← →
RoLeX (2003-10-16 15:58) [14]
procedure TForm1.WMSYSCOMMAND(var msg: TMessage);
begin
inherited; if (Msg.wParam = SC_MINIMIZE) then
Application.ShowMainForm := False;
ShowWindow(Application.Handle, SW_HIDE);
end;
Вот! Он самый код!
Ещё один вопрос: Как сделать, чтобы форма была поверх всех окон?
← →
RoLeX (2003-10-16 16:03) [15]DVM ну гдеже ты! Ответь: Как сделать, чтобы форма была поверх всех окон?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c