Icon aus Zeichenkette laden

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Icon aus Zeichenkette laden

Beitragvon Sören » Mo, 11. Jul 2016 9: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
Sören
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 196
Registriert: Mo, 07. Aug 2006 9:18
Wohnort: Leipzig

Re: Icon aus Zeichenkette laden

Beitragvon Jan » Mo, 11. Jul 2016 9: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
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11442
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: Icon aus Zeichenkette laden

Beitragvon AUGE_OHR » Di, 12. Jul 2016 2: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/library/windows/desktop/ff485946(v=vs.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
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10051
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Icon aus Zeichenkette laden

Beitragvon Sören » Mi, 13. Jul 2016 11: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
Sören
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 196
Registriert: Mo, 07. Aug 2006 9:18
Wohnort: Leipzig

Re: Icon aus Zeichenkette laden

Beitragvon AUGE_OHR » Mi, 13. Jul 2016 18: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
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10051
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Icon aus Zeichenkette laden

Beitragvon brandelh » Di, 19. Jul 2016 10:27

Wobei Bitmap Daten in Memofeldern der Typkonvertierung unterliegen, solange man keine Fox Bitmap Memos verwendet, das kann in die Hose gehen.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13181
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim


Zurück zu GUI

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste