No Image No Image

Přihlášení






Zapomenuté heslo
Nemáte účet? Vytvořte jej!
No Image
Psaní po pracovní ploše a zjíštění velikosti systémového fontu pošli na vybrali.sme.sk del.icio.us Jaggni to! PDF Tisk E-mail
Napsal Lukáš Fendrych   
Saturday, 07 August 2004
Dva návody na programy v Delphi

Psaní po pracovní ploše
       Vypisování na plochu může sloužit k informování uživatele i když minimalizuje vaši aplikaci a nebo pro zábavu.
Ale pozor! O překreslování vypisovaného textu se musíte postarat sami, protože při dočasném překrytí textu např. oknem jiné aplikace text zmizí (tedy nebude automaticky opětovně překreslen). Též pokud dojde k "obnovení pracovní plochy" (např. výběrem položky Obnovit v kontextovém menu pracovní plochy), text opět zmizí. Proto musíte jeho překreslování hlídat a obnovovat sami.

       Tak zpět k našemu příkladu. Jedná se o jednoduchý příklad použitý v události stisku tlačítka. Parametry, které nás budou hlavně zajímat, jsou samotný vypisovaný text, dále jeho souřadnice a barva. Jako font bude použijeme aktuální systémový font. Text bude vykreslen transparentně a barvu budeme volit opět pomocí trojkombinace RGB.

procedure TForm1.Button1Click(Sender: TObject);
var dc: hdc;
obarva: COLORREF;
oBKM : integer;
vyptext: string;
begin
vyptext := 'Tento text se vypíše na pracovní ploše'
dc := GetWindowDC(GetDesktopWindow);
try
obarva := SetTextColor(DC, RGB(10, 200, 255));
oBKM := SetBkMode(DC, TRANSPARENT);
TextOut(DC, 300, 300, vyptext, Length(vyptext));
SetBkMode(DC, oBKM);
SetTextColor(DC, obarva);
finally
ReleaseDC(GetDesktopWindow, DC);
end;
end;


Z příkladu tedy plyne že barva se bude světle modrá a text bude vykreslen na souřadnicích 300x300.Samozřejmě musíme brát ohled na aktuální rozlišení obrazovky.

Zjištění velikosti systémového fontu

       Tento program bude sloužit k ukázání aktuální velikosti systémového fontu. Lze to použít např. pokud máte texty namačkané u sebe a jsou přesně podle velikosti fontu tak takové zvětšení může způsobit ořezání textu.A tak použitím této funkce můžeme třeba reagovat na velikost fontu.
Pozor tato funkce bude vypisovat pouze jestli se jedmá o velký(102dpi) nebo malý(96dpi) font


function VelikostFontu : integer;
var DC : HDC;
begin
DC := GETDC(0);
Result := 0;
case GetDeviceCaps(DC, LOGPIXELSX) of
96: Result := 1;
102: Result := 2;
end;
ReleaseDC(0, DC);
end;


Pokud funkce vrátí hodnotu 1, jedná se o malý font (96 dpi), číslo 2 znamená velký font (102 dpi). Tuto funkci si můžete různě upravit třeba, aby vracela přímo velikost, ale to už nechám na vás.

undefined
undefined
Aktualizováno ( Saturday, 07 August 2004 )
 
No Image
No Image No Image No Image

Anketa

Jak jste na tom se zkušenosti s pc?
 

Reklama

Stav webu

Členů: 8
Novinky: 129
Odkazy: 17

Odběr novinek

No Image
ISSN 1801-2884
© 2005 - 2009 SDAKAR WEB
© 2005 - 2009 SDAKAR STUDIO
Postaveno na Joomla!. CZIN.eu JakNaWeb.com - vše o HTML,CSS,PHP,MySQL,XML, výroba a tvorba www a web grafika
No Image