Sfaturi pentru delphi

Cum de a lucra cu o paleta in Delphi? Pe TImage forma set și imaginea vizibilă (* fișier BMP), cum de a schimba paleta de culori.

TBitmap în paleta și TMetaFile disponibile prin Paleta de proprietăți. Dacă există o paletă (care nu este în mod necesar), paleta<>0:

model de panza umple coordonatele desktop date.

PaintDesktop Funcția (HDC). boolean;
De exemplu: PaintDesktop (form1.Canvas.Handle);

Cum de a insera o imagine raster într-o componentă ListBox?

Pentru a face acest lucru, trebuie să instalați în câmpul Object Inspector Style în lbOwnerDrawFixed, o înălțime linie fixă, sau lbOwnerDrawVariable, la variabilă și setați dvs. de tratare a evenimentului propriu pentru OnDrawItem. În acest handler, și este necesar să se atragă bitmap.
exemplu:
Imagine Tras de 32 * 16 (hieroglife rezoluție standard pentru Delphi). Este foarte util atunci când se caută imagini pentru butoane!
Amplasat în Object Inspector pentru câmpul ListBox ItemHeight = 19, și câmpul Culoare = clBtnFace.

Acest exemplu este lent, dar de optimizare, la viteza, pentru a provoca dificultăți în înțelegerea principiului general al funcționării sale.

Putem trage de la Delphi, în orice parte a ecranului sau într-o altă fereastră?

Pentru a face acest lucru, utilizați funcțiile API. Ia contextul unei alte ferestre sau întregul ecran:
funcționa GetDC (WND: hWnd): HDC;
în cazul în care eoliane - un pointer la fereastra dorită, sau 0 pentru contextul întregului ecran.
Și, în plus, tot ceea ce este necesar pentru a trage utilizând funcțiile API.
exemplu:

Nu uita după manipulări sale pentru a trimite victimele (sau toate) ale mesajului ferestre cu privire la necesitatea de a aspira pentru a restabili aspectul lor inițial.

Scrierea textului Unghi

conversia de culoare RGB de la HLS

Numărul de culori (paleta de culori) în acest computer

Această funcție returnează numărul de biți per pixel în calculator. De exemplu, 8 - 256 culori, 4 - 16 culori.

Cum de a schimba rezoluția ecranului în cursul punerii în aplicare a programului

1) Se presupune că câmpul BLOB (de exemplu, Pict)
2) cererea Query.SQL ceva de scris ca
'Selectați Pict din sometable în cazul în care somefield = somevalue'
3) cererea este deschisă
4) este "atribuire":
Image1.Picture.Assing (TBlobField (Query.FieldByName ( 'Pict'))
sau, în cazul în care se știe că această imagine - Bitmap, puteți
Image1.Picture.Bitmap.Assing (TBlobField (Query.FieldByName ( 'Pict'))

Și puteți utiliza TDBImage componente.

Cum de a elimina pictograma din EXE- și de fișier DLL (ExtractAssociatedIcon) și afișa pe componenta TImage sau o mică zonă de pe formularul?

Procedura TForm1.Button1Click (Expeditor: TObject);

var IconIndex. cuvânt; h. HICON;

începe IconIndex: = 0; h: = ExtractAssociatedIcon (hInstance, 'C: \ WINDOWS \ Notepad.exe'. IconINdex); DrawIcon (Form1.Canvas.Handle, 10, 10, h);