Icon aus Zeichenkette laden

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 205
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig
Danksagung erhalten: 11 Mal

Icon aus Zeichenkette laden

Beitrag von Sören »

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.
Beste Grüße,
Sören
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Icon aus Zeichenkette laden

Beitrag von Jan »

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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Icon aus Zeichenkette laden

Beitrag von AUGE_OHR »

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.
wenn du nicht so lange warten willst bis Alaska reagiert ... :-k

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
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 205
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig
Danksagung erhalten: 11 Mal

Re: Icon aus Zeichenkette laden

Beitrag von Sören »

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.
Beste Grüße,
Sören
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Icon aus Zeichenkette laden

Beitrag von AUGE_OHR »

Sören hat geschrieben:Interessant. Danke, Jimmy. Ich weiß leider trotzdem nicht, wie ich so richtig damit weiter komme.
für weiter Tips müsste ich mehr wissen ...
wo setzt du es wie ein ?
warum wird es abgespeichert ?
wo kommen die Icons her ?
Sören hat geschrieben:Daher werde Jan's Rat befolgen und mein Anliegen an Alaska senden. Ich werde dann hier berichten.
da bin ich ja mal gespannt in welcher Version Alaska das verwirklicht ...
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Icon aus Zeichenkette laden

Beitrag von brandelh »

Wobei Bitmap Daten in Memofeldern der Typkonvertierung unterliegen, solange man keine Fox Bitmap Memos verwendet, das kann in die Hose gehen.
Gruß
Hubert
Antworten