Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Icon aus Zeichenkette laden

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 196
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig

Icon aus Zeichenkette laden

Beitrag von Sören » Mo, 11. Jul 2016 10:09

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
Foren-Administrator
Foren-Administrator
Beiträge: 12224
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Icon aus Zeichenkette laden

Beitrag von Jan » Mo, 11. Jul 2016 10:38

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10520
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Icon aus Zeichenkette laden

Beitrag von AUGE_OHR » Di, 12. Jul 2016 3:24

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: 196
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig

Re: Icon aus Zeichenkette laden

Beitrag von Sören » Mi, 13. Jul 2016 12:39

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: 10520
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Icon aus Zeichenkette laden

Beitrag von AUGE_OHR » Mi, 13. Jul 2016 19:06

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: 13753
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Icon aus Zeichenkette laden

Beitrag von brandelh » Di, 19. Jul 2016 11:27

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

Antworten