![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с рисованием на окнах [D7, WinXP]
HeKTO © (2004-09-02 15:43:00)Следующий код при выполнении выводит надпись не на активном окне(GetActiveWindow) (окно с фокусом ввода), а на Screen, т.е. в данно случае в точке с коорд (0,0)-рабочей области монитора. Почему?
procedure DrawOnActWin;
var
DC:HDC;
ActWinCanvas:TCanvas;
begin
DC:=GetDC(GetActiveWindow);
try
ActWinCanvas:=TCanvas.Create;
ActWinCanvas.Handle:=DC;
ScreenMesFONT:=Form2.FontDialog1.Font;
ActWinCanvas.Font:=ScreenMesFONT;
ActWinCanvas.TextOut(0,0,Form2.TextMessageEdit.Text);
finally
ReleaseDC(GetActiveWindow,DC);
ActWinCanvas.Free;
end;
end;
VMcL (2004-09-02 19:46:00) [1]>> HeKTO (02.09.04 19:20) [4]
> Ты где взял свою ???
1. Delphi IDE: Help | Windows SDK
2. http://tinyurl.com/3hs5f
clickmaker (2004-09-02 19:43:00) [2]
> Подскажи, где ты взял свой WinAPI справочник- в моём такой
> функции нет!
Delphi - Help - Windows SDK
"The GetActiveWindow function retrieves the window handle to the active window associated with the thread that calls the function. "
HeKTO (2004-09-02 19:20:00) [3]GetForegroundWindow работает, спасибо clickmaker!
Подскажи, где ты взял свой WinAPI справочник- в моём такой функции нет!( http://www.infocity.kiev.ua/- я тут брал)
VMcL - у меня инфы по этой функции всего :
Функция GetActiveWindow
Описание:
function GetActiveWindow: HWnd;
Отыскивает описатель окна, котоpое имеет текущий фокус ввода.
Возвpащаемое значение:
Идентификатоp активного окна.
См. также: SetActiveWindow
Ты где взял свою ???
VMcL (2004-09-02 16:02:00) [4]P.S. к [1]
Дело в том, что справку нужно читать.
Return Values
The return value is the handle to the active window attached to the calling thread's message queue. Otherwise, the return value is NULL.
clickmaker (2004-09-02 15:59:00) [5]попробуй GetForegroundWindow
VMcL (2004-09-02 15:56:00) [6]Наверное, потому что GetActiveWindow возвращает нуль.