Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

Nach unten

Warum funktioniert dieser einfache Code nicht ... Finden Sie ähnliche Zweige


Kost   (2001-12-15 13:06) [0]

Es gibt ein Formular TForm1. Darauf befindet sich der "Experimental-Button" BitBtn1.
Es besteht der Wunsch, durch Klicken auf eine andere Schaltfläche - Button1 - Folgendes zu tun:
- Zeichnen Sie mit PaintTo ein BitBtn1-Bild auf einen Canvas-Bitmap-Canvas
- Bringen Sie die resultierende Bitmap zum Umriss des Formulars

KLAPPT NICHT! BitBtn1 wird nicht in Bitmap gezeichnet! WARUM? WO BIN ICH NICHT RECHT?

Prozedur TForm1.FormCreate (Sender: TObject);
beginnen
// Eine Bitmap erstellen
bmp: = TBitmap.Create;
bmp.Width: = 150;
bmp.Height: = 150;
end;

Prozedur TForm1.Button1Click (Sender: TObject);
beginnen
// Wenn Sie auf die Schaltfläche klicken, zeichnen Sie BitBtn1 auf der Canvas-Bitmap
BitBtn1.PaintTo (bmp.Canvas.Handle, 0, 0);
Ungültig machen; // Das Formular wird neu gezeichnet
end;

Prozedur TForm1.FormPaint (Sender: TObject);
beginnen
// Bitmap-Formulare anzeigen
Canvas.Draw (0,0, bmp);
end;



Song   (2001-12-15 22:18) [1]

Warum bist du:
1) Zeichenfläche mit PaintTo? Sie können die Glyphe direkt über Canvas.Draw festlegen - dies ist korrekter.
2) das Formular neu zeichnen? Sie müssen nur das aktualisierte Steuerelement neu zeichnen, d. h.
oder so:
Mit BitBtn1 Do
Beginnen
UpDate
Ungültig machen;
End;

entweder nur BitBtn1.RePaint;



Kost   (2001-12-16 12:25) [2]

In diesem Beispiel wollte ich zeigen, dass es in der Bitmap (genauer gesagt auf der Zeichenfläche der Bitmap) unmöglich ist, TBitBtn (oder TButton) mit PaintTo zu zeichnen.
WinControl "s hat eine solche Memberfunktion
WinControl.PaintTo (DC: HDC; X, Y: Ganzzahl)
mit dessen hilfe können sie angeblich ein bild von wincontrol auf eine beliebige leinwand zeichnen. Ich habe versucht, ein Schaltflächenbild (TBitBtn) auf der Leinwand der Bitmap zu zeichnen. Klappt nicht. Recherchiert mit anderen WinControls, stellt sich beispielsweise heraus, dass mit TPanel das Bild des Panels mit PaintTo auf die Bitmap übertragen werden kann.
Das heißt Diese Funktion für verschiedene WinControls funktioniert so, wie Gott die Seele berührt.



Song   (2001-12-16 22:31) [3]

Ich denke, das ganze Problem liegt nicht in PaintTo, sondern in DC (Typ HDC), es wird im Fall von TBitBtn nicht richtig angezeigt, d. H. Das System gibt ein falsches Handle für den Schaltflächenbereich zurück: ((



Seiten: 1 ganze Branche

Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

nach oben









Speicher: 0.56 MB
Zeit: 0.029 c
14-22374
Nikols
2001-11-01 16:03
2002.01.08
Wie ruhen sich Programmierer aus? Und wann


7-22428
Yegor Matveyev
2001-09-24 02:41
2002.01.08
HTML-Quelle der Seite


1-22042
Angel S
2001-12-15 23:04
2002.01.08
Laden Sie die JPG-Datei in das Bild hoch


14-22402
dunklere
2001-11-08 12:26
2002.01.08
Ich suche einen Mann mit einem Spitznamen


4-22504
Kuss
2001-09-11 11:11
2002.01.08
WinExec neponyatka





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarisch katalanisch Chinesisch (vereinfacht) Chinesische Tradition) kroatisch Tschechisch Dänisch Niederländisch Englisch estnisch Philippinisch Finnisch Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italian Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegisch
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Schwedisch Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch