Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Handle


Ivolg ©   (2006-07-03 22:30:00) 

Как можно получить Handle чуждого окна, при этом выделив его ?


Leonid Troyanovsky   (2006-07-03 23:36:00) [1]


> PSPF2003 ©   (03.07.06 23:21) [8]

> Извиняюсь


Звучит лучше, чем "извеняюсь",
но, гораздо хужей чем "извините", IMHO.

--
Regargs, LVT.


PSPF2003   (2006-07-03 23:21:00) [2]


> И не надо путать nil vs null.

Извиняюсь все время такие ляпы делаю….  :(


Leonid Troyanovsky   (2006-07-03 23:14:00) [3]


> PSPF2003 ©   (03.07.06 23:00) [5]

> FindWindow('Класс окна можно nill', 'Заголовок окна можно
> nill')


И не надо путать nil vs null.

--
Regards, LVT.


Ivolg   (2006-07-03 23:04:00) [4]

>PSPF2003

Спасибо... )


PSPF2003   (2006-07-03 23:00:00) [5]

FindWindow('Класс окна можно nill', 'Заголовок окна можно nill')


Ivolg   (2006-07-03 22:53:00) [6]

А по названию окна можно как-нибудь узнать его Handle ?


Ivolg   (2006-07-03 22:51:00) [7]

>PSPF2003

Спасибо, код работает... Мне Handle окна нужен бы для того, чтобы изменить размер окна...


PSPF2003   (2006-07-03 22:43:00) [8]

Возможно это тебе поможет

Можно ли рисовать на рамке формы?
Обрабатывайте событие WM_NCPAINT. В примере рамка обводится красной линией
толщиной в 1 пиксел.

Пример:

type
   TForm1 = class(TForm)
   private
   {Private declarations}
       procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
   public
   {Public declarations}
end;

var
   Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
var
   dc : hDc;
   Pen : hPen;
   OldPen : hPen;
   OldBrush : hBrush;
begin
   inherited;
   dc := GetWindowDC(Handle);
   msg.Result := 1;
   Pen := CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
   OldPen := SelectObject(dc, Pen);
   OldBrush := SelectObject(dc, GetStockObject(NULL_BRUSH));
   Rectangle(dc, 0,0, Form1.Width, Form1.Height);
   SelectObject(dc, OldBrush);
   SelectObject(dc, OldPen);
   DeleteObject(Pen);
   ReleaseDC(Handle, Canvas.Handle);
end;


PSPF2003   (2006-07-03 22:36:00) [9]

procedure TForm1.Timer1Timer(Sender: TObject);
var
WindowText: array[0..255] of char; {символьный массив для хранения текста,
                                   связянного с окном}
TheWindow: HWND; {содержит дескриптор окна}
pt: TPoint; {переменная для хранения текущих координат указателя мыши}

begin
{определяем координаты указателя мыши}
pt := Mouse.CursorPos;
//pt.Y := y;
{вычисляем дескриптор окна формы,
в область которого попадают координаты указателя мыши}
TheWindow := WindowFromPoint(pt);
{получаем текст, связянный с окном}
If (GetWindowText(TheWindow, WindowText, 255))<>0 then begin
{...и показываем этот текст}
 Edit1.Text := WindowText ;
 Edit2.Text := IntToStr(TheWindow)
end
else begin
 Edit1.Text := 'Данное окно не имеет описания';
 Edit2.Text := IntToStr(TheWindow);
end;
end;

Как рисовать незнаю


Наверх

Титульная страница Поиск, карта сайта Написать письмо