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

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

Rect текста [D6, WinXP]


Compiler ©   (2008-01-07 23:11:00) 


function GetRectText(DC:hDC; Text:string):Trect;
begin
Result.Left:=0;
Result.Top:=0;
Windows.DrawText(DC, PChar( Text ),-1,
      Result, DT_CALCRECT or DT_NOCLIP or DT_WORDBREAK);
end;

var
 MainWnd,l:HWND;  R:Trect;  Text:string;
begin
...
Text:='бла-бла-бла';
l:=CreateWindowEx(0,'STATIC',Pchar(Text),SS_LEFT or WS_VISIBLE or WS_CHILD,
100,100,100,100,MainWnd,1010,hinstance,nil);
SendMessage(L,WM_SETFONT,GetStockObject(ANSI_VAR_FONT),0);
R:=GetRectText(GetDC(MainWnd),Text);
SetWindowPos(l,0,0,0,r.Right,r.Bottom,SWP_NOMOVE);
...

Определяет неверно.
В VCL при R:=GetRectText(Form1.canvas.handle,Text);все работает. Как заставить учитывать ширину и высоту шрифта


Dib@zol   (2008-01-08 18:45:00) [1]

А чего ты собсна ждёшь от SetWindowPos, если у тебя в последнем параметре указано, что окно двигать не надо??? Замени на SWP_SHOWWINDOW и будет те щастье.


Compiler   (2008-01-08 17:29:00) [2]


> http://podgoretsky.com/

Там в качестве DC везде Form1.canvas.handle. Или я плохо ищу? А без объекта TCanvas можно обойтись?


Leonid Troyanovsky   (2008-01-08 11:48:00) [3]


> Compiler   (07.01.08 23:11)  

http://podgoretsky.com/DM/delphimaster.html

--
Regards, LVT.


Наверх

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