Italia
Foro

TCItem-Struktur per TabControls

 
- Page 1 -



Jac
de
Lad
Hallo Community.

Kann mir jemand die TCItem-Struktur per Tabcontrols posten? Ich will in Tabcontrols Icons einfügen. Dazu brauche ich die Struktur. Ich habs mit
KompilierenMarkierenSeparieren
Struct TCItem=mask&,dwState&,dwStateMask&,lpreserved1&,lpreserved2&,pszText&,cchTextMax&,iImage&,lParam&
>

probiert, aber es funktioniert nicht. Ich setze die Imagelist, lese ein Item mit TCM_GetItem, setze das iImage& und schreibe es zurück mit TCM_SetItem, aber es klappt nicht.
Vielleicht hat ja jemand einen vorgefertigten Quelltext, das würde mir sehr weiterhelfen.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
06.01.2008  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Jörg
Sellmeyer
und der Reparaturdienst ist wieder unterwegs...
 $H windows.ph
 $H messages.ph
 $H commctrl.ph
 $H structs.ph
Struct TCItem = mask&,\
dwState&,\
dwStateMask&,\
pszText&,\
cchTextMax&,\
iImage&,\
lParam&
CLS
var TCItem# = New(TCItem)
var TabCtrl& = create("TabCtrl", %HWnd, "Test", 300, 10, 200, 200)
'Wir ändern den Text von Tab 0 (= 1. Reiter) per API
var NeuText$ = "Hallo Jac!"

with TCItem#

    .mask& = ~TCIF_TEXT'Was ist zu schreiben bzw. zu lesen
    .pszText& = Addr(NeuText$)
    .cchTextMax& = 255

endwith

waitInput
SendMessage(TabCtrl&, ~TCM_SETITEM, 0, TCItem#)
waitInput
'Und nun fügen wir eine Imgelist hinzu ...
var hToolBmp& = create("hPic", 0, "TOOLBAR")
var hIL& = Create("ImageList", 16, 16, hToolBmp&, rgb(192, 192, 192))
SendMessage(TabCtrl&, ~TCM_SETIMAGELIST, 0, hIL&)
'... und weisen dem 1. Reiter (Tab 0) ein Bild zu)

with TCItem#

    .mask& = ~TCIF_IMAGE'Was ist zu schreiben bzw. zu lesen
    .iImage& = 20'das 20. Bild

endwith

print ~TCIF_IMAGE
SendMessage(TabCtrl&, ~TCM_SETITEM, 0, TCItem#)
waitinput
waitinput
waitinput
dispose TCItem#
end

Meine Strukturdefinition wollte auch erst nicht. Ich hatte fälschlicherweise angenommen, iImage und cchTextMax seien Integer. Gut, dass man hier schnell mal nachschauen kann.
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.06.2018  
 




RGH
Ciao,
so sieht die Strukturdefinition bei mir in der API-Aiuto aus:
KompilierenMarkierenSeparieren
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
06.01.2008  
 




Jac
de
Lad
Ich habs auch schon ohne die Reservisten erfolglos probiert...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.01.2008  
 




Jac
de
Lad
Ahh, habs endlich rausgefunden. ich werds heute abend mal per alle posten.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.01.2008  
 




RGH
Ok, hier ein komplettes Beispiel. Zuerst wird der Text mit SET_ITEM geändert und im zweiten Schritt ein Bild aus einer ImageList hinzugefügt:
KompilierenMarkierenSeparieren
 $H windows.ph
 $H messages.ph
 $H commctrl.ph
 $H structs.ph
Struct TCItem = mask&,
dwState&,
dwStateMask&,
pszText&,
cchTextMax&,
iImage&,
lParam&
CLS
var TCItem# = New(TCItem)
var TabCtrl& = create(TabCtrl, %HWnd, Test, 300, 10, 200, 200)
Wir ändern den Text von Tab 0 (= 1. Reiter) per API
var NeuText$ = Hallo Jac!

with TCItem#

    .mask& = ~TCIF_TEXT      Was ist zu schreiben bzw. zu lesen
    .pszText& = Addr(NeuText$)
    .cchTextMax& = 255

endwith

SendMessage(TabCtrl&, ~TCM_SETITEM, 0, TCItem#)
waitInput
Und nun fügen wir eine Imgelist hinzu ...
var hToolBmp& = create(hPic, 0, TOOLBAR)
var hIL& = Create(ImageList, 16, 16, hToolBmp&, rgb(192, 192, 192))
SendMessage(TabCtrl&, ~TCM_SETIMAGELIST, 0, hIL&)
... und weisen dem 1. Reiter (Tab 0) ein Bild zu)

with TCItem#

    .mask& = ~TCIF_IMAGE      Was ist zu schreiben bzw. zu lesen
    .iImage& = 20             das 20. Bild

endwith

SendMessage(TabCtrl&, ~TCM_SETITEM, 0, TCItem#)
waitinput
dispose TCItem#
end

Das sollte Dir weiterhelfen.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
07.01.2008  
 




Jac
de
Lad
Oach menno, ich sitz hier Stunden um das rauszukriegen und wenn ich schreibe, dass ichs hab, postet Roland hier schnell was ab. Das ist so deprimierend. Aber Hauptsache es geht jetzt.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.01.2008  
 




RGH
Jac
Oach menno, ich sitz hier Stunden um das rauszukriegen und wenn ich schreibe, dass ichs hab, postet Roland hier schnell was ab. Das ist so deprimierend. Aber Hauptsache es geht jetzt.


Erst nachdem ich das Beispielprogramm angepasst und gepostet hatte, habe ich Deinen Post gesehen, Du warst halt ein paar Minuten schneller! ;)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
07.01.2008  
 




Jac
de
Lad
Dann mach ich eben ein Codesnippet mit Icons, SetActiveTab etc., damit wir alles beieinander haben. Und ne eigene Containerfunktion kreiere ich auch noch, hehehe.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.01.2008  
 




Jörg
Sellmeyer
Zu Rolands Beispiel sollte man aber dazu schreiben, daß es erst ab XProfan11 corre!
@Jac: Schreib doch ein Bsp., das eine Api-Imagelist nutzt, per vorherige Versionen.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.01.2008  
 




Jac
de
Lad
Hm, da würde sich ein eigener Imagelist-Thread lohnen...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
07.01.2008  
 




Jörg
Sellmeyer
und der Reparaturdienst ist wieder unterwegs...
 $H windows.ph
 $H messages.ph
 $H commctrl.ph
 $H structs.ph
Struct TCItem = mask&,\
dwState&,\
dwStateMask&,\
pszText&,\
cchTextMax&,\
iImage&,\
lParam&
CLS
var TCItem# = New(TCItem)
var TabCtrl& = create("TabCtrl", %HWnd, "Test", 300, 10, 200, 200)
'Wir ändern den Text von Tab 0 (= 1. Reiter) per API
var NeuText$ = "Hallo Jac!"

with TCItem#

    .mask& = ~TCIF_TEXT'Was ist zu schreiben bzw. zu lesen
    .pszText& = Addr(NeuText$)
    .cchTextMax& = 255

endwith

waitInput
SendMessage(TabCtrl&, ~TCM_SETITEM, 0, TCItem#)
waitInput
'Und nun fügen wir eine Imgelist hinzu ...
var hToolBmp& = create("hPic", 0, "TOOLBAR")
var hIL& = Create("ImageList", 16, 16, hToolBmp&, rgb(192, 192, 192))
SendMessage(TabCtrl&, ~TCM_SETIMAGELIST, 0, hIL&)
'... und weisen dem 1. Reiter (Tab 0) ein Bild zu)

with TCItem#

    .mask& = ~TCIF_IMAGE'Was ist zu schreiben bzw. zu lesen
    .iImage& = 20'das 20. Bild

endwith

print ~TCIF_IMAGE
SendMessage(TabCtrl&, ~TCM_SETITEM, 0, TCItem#)
waitinput
waitinput
waitinput
dispose TCItem#
end

Meine Strukturdefinition wollte auch erst nicht. Ich hatte fälschlicherweise angenommen, iImage und cchTextMax seien Integer. Gut, dass man hier schnell mal nachschauen kann.
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.06.2018  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.183 Views

Untitledvor 0 min.
Sven Bader13.03.2023
Normann Strübli01.02.2023
RudiB.15.09.2022
Stringray05.01.2022
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

Jac de Lad (6x)
RGH (3x)
Jörg Sellmeyer (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie