Italia
Foro

Dialogfenster wie %hwnd

 

GDL
Ciao,

ist es possibile, 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& naturalmente 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.

Saluto

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 Dialogo con 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 Dialogo con 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.

Saluto

Andreas
 
07.10.2006  
 




GDL
@ Andreas,

klappt wunderbar per 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 ?

Saluto Ralph

3 kB
Hochgeladen:16.02.2007
Downloadcounter88
Download
 
Xprofan 10 , AMD Athlon 3000+, 1GB
16.02.2007  
 



[...] 
 
16.02.2007  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.790 Views

Untitledvor 0 min.
Thomas Freier08.02.2024
H.Brill20.05.2023
RudiB.15.04.2022
AndreasS01.12.2018
Di più...

Themeninformationen



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