Deutsch
Forum

Dialogfenster wie %hwnd

 

GDL
Hallo,

ist es möglich, dass sich ein so erzeugtes Fenster

ofenster&=create(window,%hwnd,Oberflächengestaltung,0,0,%maxx,%maxy)

genauso verhält wie ein %hwnd,quasi ein 2tes Hauptfenster.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.10.2006  
 




Nico
Madysa
Soweit ich weiß, ja, da es ja mit WindowStyle einstellen kannst.
Nur die Systemvariablen wie %WinLeft, %WinTop, %cyCaption funktionieren bei ofenster& natürlich nicht.
 
Nico Madysa
04.10.2006  
 




GDL
Hallo Nico,

ich probierte schon fast alle Windowstyles, aber mit nichts gehen %mousekey, %mousex ,%mousey und die inc mouseouver von hier.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
04.10.2006  
 




Nico
Madysa
Hä???
Das find ich jetzt überraschend, dass die Systemvaiablen nur vom Hauptfenster gesetzt werden.
Jetzt ist hier aber jemand eine Erklärung schuldig!
 
Nico Madysa
05.10.2006  
 



[quote:0e8477876a=GDL]Hallo Nico,

ich probierte schon fast alle Windowstyles, aber mit nichts gehen %mousekey, %mousex ,%mousey und die inc mouseouver von hier.

Servus
Georg[/quote:0e8477876a]
Hallo Georg...

Dafür gibts die APIs GetCursorPos und ScreenToClient.

Gruß

Andreas
 
05.10.2006  
 




GDL
Hallo Andreas,

ich bekomme es auf einem Unterfenster nicht hin. Auf %hwnd klappts aber einwandfrei.
KompilierenMarkierenSeparieren
Def PtInRect(3) !"USER32","PtInRect"

Proc CheckMouse

    Parameters hw&,x%,y%,lang&[onummer&],breit&[onummer&]
    Dim rect#,16
    Dim rectpt#,8
    Long rect#,0=x%
    Long rect#,4=y%
    Long rect#,8=lang&[onummer&]
    Long rect#,12=breit&[onummer&]
    GetCursorPos(rectpt#)
    ScreenToClient(hw&,rectpt#)

    If Neq(PtInRect(rect#,Long(rectpt#,0),Long(rectpt#,4)),0)

        result%=1

    EndIf

    Dispose rect#
    Dispose rectpt#

EndProc


Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
05.10.2006  
 



Hallo Georg...

...ist noch nicht ganz perfekt...
KompilierenMarkierenSeparieren
Def @GetCursorPos(1) !"USER32","GetCursorPos"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
Def @Ptinrect(3) !"USER32","PtInRect"
Def @WaitMessage(0) !"USER32","WaitMessage"
Declare Rect#,Rectpt#,Dialog&,Message#
Windowstyle 31
LET Dialog&=@CreateWindow(%Desktop,"Mausklick auf Dialog",30,30,300,300)
Usecursor 0

While %Menuitem<>-2

    @WaitMessage()
    Startpaint Dialog&
    Rectangle 30,30-60,60
    Endpaint

    IF @Checkmouse(Dialog&,30,30,60,60)=1

        IF %Message=514

            @messagebox("Mit linker Maustaste ins schwarze getroffen!","Treffer!",64)

        endif

    endif

    Usecursor 0

wend

Proc Checkmouse

    Parameters Hw&,X%,Y%,Lang&,Breit&
    Declare Result&
    Dim Rect#,16
    Dim Rectpt#,8
    Long Rect#,0=X%
    Long Rect#,4=Y%
    Long Rect#,8=Lang&
    Long Rect#,12=Breit&
    @Getcursorpos(Rectpt#)
    @Screentoclient(Hw&,Rectpt#)
    LET Result&=@Ptinrect(Rect#,@long(Rectpt#,0),@long(Rectpt#,4))
    Dispose Rect#
    Dispose Rectpt#
    Return Result&

Endproc

 
06.10.2006  
 




GDL
@Andreasanke.

Aber erkläre mir bitte warum man auf einem Dialog mit waitinput nicht weiterkommt.Oder sollte man waitinput nur in Ausnahmefällen nutzen?

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
06.10.2006  
 



[quote:10c8e47fce=GDL]Aber erkläre mir bitte warum man auf einem Dialog mit waitinput nicht weiterkommt.[/quote:10c8e47fce]
...an dem liegen, was Waitinput neben dem Aufrufen der API MsgWaitForMultipleObjects noch so alles tut - kann dir wohl nur Roland beantworten.

Gruß

Andreas
 
07.10.2006  
 




GDL
@ Andreas,

klappt wunderbar für Einklickabfrage.Für ständige Abfrage nehm ich wie bereits früher
schonmal gehabt.

@Getasynckeystate(2)<>0.

Da @Getasynckeystate(2)<>0 mit waitinput nicht geht und ich auch Buttons abfragen möchte verwendete ich

settimer 1
waitinput
killtimer

Verstehe zwar nicht warum es dann geht, aber hauptsache es geht.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
08.10.2006  
 




Ralph
Theobald
Hallo ,

kann mir jemand erklären, wie ihr rausgefunden habt, daß die
Api Funktion PTINRECT drei Parameter hat.

Thomas Hölzer hat in Prffellow ( Dlgcheckarea) einen ähnlichen Code
benutzt. In der Win32 und im SDK steht PTinRect mit zwei Parametern:
1. Struktur : Rechteckkoordinaten Fenster
2. Struktur: Mauskoordinaten
Oder habe ich was übersehen ?

Gruß Ralph

3 kB
Hochgeladen:16.02.2007
Ladeanzahl88
Herunterladen
 
Xprofan 10 , AMD Athlon 3000+, 1GB
16.02.2007  
 



[...] 
 
16.02.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.773 Betrachtungen

Unbenanntvor 0 min.
Thomas Freier08.02.2024
H.Brill20.05.2023
RudiB.15.04.2022
AndreasS01.12.2018
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