Hallo,
bei der XbpBitmap-Klasse gibt es die Methode :setBuffer(), mit der einem Bitmap-Objekt eine Grafik als Zeichenkette zugewiesen werden kann.
Diese Methode fehlt der XbpIcon-Klasse.
Wenn ich aber z.B. ein Icon in einem Memofeld speichere und es später wieder daraus lade, erhalte ich eine Zeichenkette zurück. Es gibt mit "normalen" Xbase++ - Mitteln keine Möglichkeit diese Zeichenkette einem XbpIcon-Objekt zuzuweisen, da XbpIcon (wie gesagt) keine Mehtode :setBuffer() kennt. Der einzige Weg besteht darin, die Zeichenkette temporär als Icon-Datei zu speichern und diese Datei anschließend mit XbpIcon:loadFile() zu laden.
Weiß jemand, ob es eine Möglichkeit gibt (vielleicht mit WinAPI-Funktionen) ein als Zeichenkette vorliegendes Icon einem XbpIcon-Objekt direkt zuzuweisen.
Icon aus Zeichenkette laden
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Icon aus Zeichenkette laden
Sören,
da würde ich mal an den Support von Alaska schreiben. Ob die die Methode nicht auch da einbauen können. Ist ja sonst irgendwie inkosequent.
Jan
da würde ich mal an den Support von Alaska schreiben. Ob die die Methode nicht auch da einbauen können. Ist ja sonst irgendwie inkosequent.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Icon aus Zeichenkette laden
wenn du nicht so lange warten willst bis Alaska reagiert ...Sören hat geschrieben:Wenn ich aber z.B. ein Icon in einem Memofeld speichere und es später wieder daraus lade, erhalte ich eine Zeichenkette zurück.
der Source zur CLASS XbpIcon ist in c:\ALASKA\XPPW32\SOURCE\SYS\xbparts.prg
in der METHOD XbpIcon:GetIconInfo() wird eine Structure zu einem Icon Handle (HICON) "gefüllt".
als Resultat erhältst du nun den String ...
nun könntest du eine eigene Method o:SetIconInfo(cString) versuchen ... aber Windows macht das anders.
Windows hat für solche Sachen eine Imagelist um ICO / BMP (JPG & Co.) zu verwalten.
XbpToolbar(), welches MsComCtl.OCX benötigt, arbeitet ebenfalls mit einer Imagelist.
die Frage ist also was du mit den Icons machst und warum du die abspeichern möchtest in einem Memo Type "V"
-
wer auf dem Usertreffen 2016 in meiner Session "pimp my XbParts" war findet unter den "Buttons"
Source Code der native, mit Ot4xb, eine Imagelist anlegt. weiter Infos zu Imagelist :
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Code: Alles auswählen
ImageList_Add() für HBITMAP (Bitmap Handle)
ImageList_ReplaceIcon() für HICON (Icon Handle)
ImageList_GetIcon() -> HICON -> XbpIcon:CreateFromHandle( nHandle ) // xbparts.prg
ImageList_Write() Writes an image list to a stream
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 205
- Registriert: Mo, 07. Aug 2006 10:18
- Wohnort: Leipzig
- Danksagung erhalten: 11 Mal
Re: Icon aus Zeichenkette laden
Interessant. Danke, Jimmy. Ich weiß leider trotzdem nicht, wie ich so richtig damit weiter komme.
Daher werde Jan's Rat befolgen und mein Anliegen an Alaska senden. Ich werde dann hier berichten.
Daher werde Jan's Rat befolgen und mein Anliegen an Alaska senden. Ich werde dann hier berichten.
Beste Grüße,
Sören
Sören
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Icon aus Zeichenkette laden
für weiter Tips müsste ich mehr wissen ...Sören hat geschrieben:Interessant. Danke, Jimmy. Ich weiß leider trotzdem nicht, wie ich so richtig damit weiter komme.
wo setzt du es wie ein ?
warum wird es abgespeichert ?
wo kommen die Icons her ?
da bin ich ja mal gespannt in welcher Version Alaska das verwirklicht ...Sören hat geschrieben:Daher werde Jan's Rat befolgen und mein Anliegen an Alaska senden. Ich werde dann hier berichten.
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15699
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 69 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Icon aus Zeichenkette laden
Wobei Bitmap Daten in Memofeldern der Typkonvertierung unterliegen, solange man keine Fox Bitmap Memos verwendet, das kann in die Hose gehen.
Gruß
Hubert
Hubert