Deutsch
Forum

Gridbox in Choicebox

 
- Seite 1 -



Ralph
Theobald
Hallo ,

ich habe eine Gridbox in eine Choicebox gebastelt , leider ist die Gridbox
nicht erreichbar, wie kann ich diese aktivieren.
KompilierenMarkierenSeparieren
Set(FastMode,1)
 $H windows.ph
 $H messages.ph
Declare  oldcallback&,static&,brush&,raus&,hGrid&,titel$
cls
oldcallback&=~SetWindowLong(%hwnd,~GWL_WNDPROC,ProcAddr(newcallback,4))
static&=Create(choicebox,%hwnd,Choicebox,16,16,560,180)

WhileNot raus&

    WaitInput

EndWhile

End

PROC setcolor

    Parameters col&,bk&,wParam&
    declare Brush&

    IF Brush&

        ~DeleteObject(Brush&)

    endif

    Brush& = ~CreateSolidBrush(bk&)
    ~SetBkMode(wParam&, ~TRANSPARENT)
    ~SetBKColor(wParam&,RGB(195,116,95))
    ~SetTextColor(wParam&,col&)
    RETURN Brush&

endproc

Proc newcallback

    Parameters wnd&,msg&,wparam&,lparam&

    IF msg&=~WM_CTLCOLOREDIT

        RETURN SetColor(rgb(255,0,0),rgb(255,255,0),wParam&)

    Endif

    IF msg&=~WM_CTLCOLORLISTBOX

        Titel$ = Links;0;80;Mitte;2;100;Rechts;1;80
        hGrid&=Create(GridBox,lparam&, Titel$, 3,1,1,549,140)
        AddString(hGrid&, AB|DEF|0123)
        AddString(hGrid&, GHI|J23KL|012345)

        IF brush&

            ~DeleteObject(brush&)

        EndIf

        brush&=~CreateSolidBrush(Rgb(0,0,255))
        RETURN brush&

    Endif

    If msg&=~WM_CLOSE

        ~DeleteObject(brush&)
        raus&=1

    Endif

    RETURN ~CallWindowProc(oldcallback&,wnd&,msg&,wparam&,lparam&)

EndProc


Gruß Ralph
 
Xprofan 10 , AMD Athlon 3000+, 1GB
08.03.2007  
 



 
- Seite 2 -



Rolf
Koch
parent enthält den Wert 0
 
08.03.2007  
 



 
- Seite 3 -



KompilierenMarkierenSeparieren
var PARENT&=call(__cf1&,65556,0,ComboLBox,0)

Zur Info: Hier wird FindWindowExA aufgerufen. Für 65556 könnte man auch %Desktop schreiben und auf %Desktop befinden sich in der Regel mehrere Fenster dieser Klasse (siehe Tasks and Token).

Da ich kein XProfan10 habe, gebe ich die weitere Ursachenforschung erst mal an die anderen ab.
 
08.03.2007  
 



Ach ja - und %Desktop ist natürlich nicht auf jedem System 65556 - wie gesasgt, etwas windig der Code....
 
08.03.2007  
 




Ralph
Theobald
Hallo ,

wer wird denn gleich in die Luft gehen .

Vielen Dank erstmal an alle für die rege Teilnahme an dem Problem.

If ich habe deinen Code etwas modifiziert. Im Interpreter laufen die beiden Versionen
zwar unterschiedlich, aber sie laufen.
Kompiliert sind sie glaube ich nicht zu gebrauchen
KompilierenMarkierenSeparieren
Gruß Ralph

645 kB
Hochgeladen:08.03.2007
Ladeanzahl88
Herunterladen
 
Xprofan 10 , AMD Athlon 3000+, 1GB
08.03.2007  
 




Ralph
Theobald
An alle,

die beiden obigen Versionen laufen nur unter Win XP, Xprofan 10
Bei einer Version erscheint die Listview, man klickt einen Eintrag an,das Ergebnis wird
angezeigt.die Box klappt wieder ein.

Bei der anderen Version kann man die Spaltenbreite verstellen , ein Ergebnis wird
ausgegeben, aber nur einmal.

Beides zusammen wäre ideal.

Compilat: 1: LV wird angezeigt, Einträge lassen sich auswählen , werden aber
nicht ausgegeben

Compilat 2: Ausgabe erfolgt nur nach jedem 3. Klick,

Unter Xprofan 8 , w2k klappt die box nur kurz auf

Gruß Ralph
 
Xprofan 10 , AMD Athlon 3000+, 1GB
08.03.2007  
 




RGH
Ralph Theobald
Unter Win2k , Xprofan 8 wie bei Andreas .


Mich wundert es nicht, daß Gridboxen nicht unter XProfan 8 funktionieren, da es die erst seit XProfan 10 gibt!

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
08.03.2007  
 



RGH
Mich wundert es nicht, daß Gridboxen nicht unter XProfan 8 funktionieren, da es die erst seit XProfan 10 gibt!
Roland


Auch die mit XProfan10 compilierte EXE geht da nicht (du Scherzkecks du )
 
08.03.2007  
 



Herjeh es ging mir in erster Linie darum auf eine Lösung mit Usermessages  umzustellen, %desktop  habe ich nicht mit 65556 gemeint - hab hier in der Eile zu flüchtig recherchiert.
 
09.03.2007  
 




Ralph
Theobald
Wenn ich ein gridbox z.B. in eine Rebar setze, übernimmt Windows die
Verwaltung des Controls , sobald ich es anklicke.

Ich habe mir das Handle der Listbox durch das Callback besorgt.Wenn jemand
eine andere Möglichkeit kennt , dann her damit.

Ich werde es mal noch mit der Listview.dll probieren, aber das geht wahrscheinlich auch nicht.

Als Lösung kann ich mir nur vorstellen:

1. Ausgabe innerhalb der Callbackroutine. (zu aufwendig)
2. Das Handle der Listbox ohne Callback (wie?) ,dann müsste Ifs Methode ohne
diesen ominösen Call klappen !?

Es wundert mich nicht ,dass es bei der Programmierung der Controls in Windoof offensichtlich keinen roten Faden gibt. Beim Rebar setzt man das Control ins Band , Windows passt automatisch die Größe des Controls an die Größe des Bandes an.Bei der Choicebox funktioniert das so nicht. Was für einen Sinn macht dann der Befehl
Setparent ?

Gruß Ralph
 
Xprofan 10 , AMD Athlon 3000+, 1GB
09.03.2007  
 




Das Handle der Listbox ohne Callback (wie?) ,dann müsste Ifs Methode ohne
diesen ominösen Call klappen !?


Ich wüsste evtl. wie, kann ich aber nicht testen - kein XP und kein XProfan10, sorry. Und wenn man auf meine Bemühungen von denen ich persönlich nichts habe nicht reagiert, habe ich auch irgendwann keine Lust mehr - ist doch einsehbar - oder? Tschau.

PS: Ein Tool, das zum Beispiel bei der Entwicklung solcher solchen sehr gute Dienste Leisten könnte, wäre Tasks and Token - da sieht man ziemlich genau wo es windig wird und warum.
 
09.03.2007  
 




Ralph
Theobald
Hallo Andreas,
Entschuldigung , aber ich wollte dich nicht übergehen.Ich habe mich bei allen bedankt
die mir geholfen haben.Damit meinte ich auch dich.
Leider bin ich nicht so ein begnadeter Programmierer wie die meisten hier, deshalb
frage ich ja.
Zu Task & Token : Ich habe mir das Programm installiert, aber ich betreibe Profan nur
als Hobby, deshalb brauche ich immer etwas länger um mich in die neuen
Programme einzuarbeiten.Ich habe mit Spy++ versucht die Messages abzufangen,
aber ohne Erfolg.
Ich sehe das Ganze übrigens genau wie Du, möglichst keine undokumentierten Befehle
oder Tricksereien, die nur auf einem Rechner,einem Betriebssystem oder einer
xprofanversion laufen herzustellen.

Vielen Dank

Ralph
 
Xprofan 10 , AMD Athlon 3000+, 1GB
09.03.2007  
 




Und wenn man auf meine Bemühungen von denen ich persönlich nichts habe nicht reagiert, habe ich auch irgendwann keine Lust mehr - ist doch einsehbar - oder?


Man gut das Du da mit Deiner Meinung fast alleine dastehst.

Interessant wäre wenn Du mal meine Bemühungen weniger ignorieren würdest Dich ständig darauf hinweisen zu müssen die Threads mit weniger persönlichem Gehabe zu befüllen statt mit wirklichen Hilfestellungen. Mittlerweile haben - wenn ich mich recht erinnere - auch der eine oder andere Admin Dich darauf hingewiesen sinngemäß etwas lockerer und hilfreicher zu agieren. Es kann nicht angehen das ich mich schon im Vorraus unwohl fühle ein Posting von Dir zu lesen. Das letzte Posting z.B. hättest Du Dir absolut klemmen können wie auch warscheinlich das Nächste. Dieser Thread hier wird bereinigt sobald ich meine neue Funktion Als unhilfreich markieren fertiggeschrieben habe. Dann fliegt jedenfalls der ganze derartige Müll mit einem Klick in die Mülleimerregion und die Threads bleiben frei von persönlichem Blub. Alleine schon dieses Posting hier von mir - warum schreib ichs? Wegen AH.

Mich nervt das ganz ehrlich.
 
09.03.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

11.858 Betrachtungen

Unbenanntvor 0 min.
RudiB.26.10.2021
Christof Neuß18.09.2018
rquindt25.04.2018
Rainer Hoefs02.06.2016
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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