| |
|
|
- page 1 - |
|
GDL | Salut,
ist es possible, dass sich un so erzeugtes la fenêtre
ofenster&=create(window,%hwnd,Oberflächengestaltung,0,0,%maxx,%maxy)
genauso verhält comment un %hwnd,quasi un 2tes Hauptfenster.
salut Georg |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
GDL | allô Andreas,
je bekomme es sur einem Unterfenster pas hin. sur %hwnd klappts mais einwandfrei. KompilierenMarqueSéparationDef 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
salut Georg |
|
|
| |
|
|
|
| allô Georg...
...ist encore pas entier parfait... KompilierenMarqueSéparationDef @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
|
|
|
| |
|
|
|
GDL | @Andreasanke.
mais erkläre mir s'il te plaît pourquoi on sur einem Dialogue avec les waitinput pas weiterkommt.ou bien sollte on waitinput seulement dans Ausnahmefällen nutzen?
salut Georg |
|
|
| |
|
|
|
| [quote-part:10c8e47fce=GDL]mais erkläre mir s'il te plaît pourquoi on sur einem Dialogue avec les waitinput pas weiterkommt.[/quote-part:10c8e47fce] ...à dem liegen, quoi Waitinput près de dem Aufrufen qui API MsgWaitForMultipleObjects encore so alles tut - peux dir wohl seulement Roland répondre.
Salut
Andreas |
|
|
| |
|
|
|
GDL | @ Andreas,
klappt wunderbar pour Einklickabfrage.Pour ständige Abfrage nehm je comment bereits früher Schonmal gehabt.
@Getasynckeystate(2)<>0.
là @Getasynckeystate(2)<>0 avec waitinput pas allez et je aussi Buttons abfragen voudrais verwendete je
settimer 1 waitinput killtimer
Verstehe zwar pas pourquoi es ensuite allez, mais le principal und dir.
salut Georg |
|
|
| |
|
|
|
Ralph Theobald | allô ,
peux mir quelqu'un expliquer, comment son rausgefunden avez, qui qui Api Funktion PTINRECT trois paramètre hat.
Thomas Bois hat dans Prffellow ( Dlgcheckarea) une ähnlichen Code benutzt. dans qui Win32 et im SDK steht PTinRect avec deux Parametern: 1. Struktur : Rechteckkoordinaten la fenêtre 2. Struktur: Mauskoordinaten ou bien habe je quoi übersehen ?
Salut Ralph |
|
|
| |
|
|
|
| |
|
| |
|
|
| |
|
- page 2 - |
|
|
RGH | Ralph Theobald
allô ,
peux mir quelqu'un expliquer, comment son rausgefunden avez, qui qui Api Funktion PTINRECT trois paramètre hat.
Thomas Bois hat dans Prffellow ( Dlgcheckarea) une ähnlichen Code benutzt. dans qui Win32 et im SDK steht PTinRect avec deux Parametern: 1. Struktur : Rechteckkoordinaten la fenêtre 2. Struktur: Mauskoordinaten ou bien habe je quoi übersehen ?
Salut Ralph
allô Ralph, qui erste paramètre est un aiguille sur une Struktur (= 32 Bit) et qui zweite paramètre direct qui Struktur. qui Struktur POINT besteht aus deux 32-Bit Werten pour qui Koordinaten et ist somit 64 Bit grand. Anstelle qui Struktur peut aussi qui deux Koordinaten je comme Longint (32 Bit) transfert volonté. ce sont ensuite aussi wieder 64 Bit et alles ist im Lot! dans XProfan ist es am Einfachsten, pour den ersten paramètre une Strukturvariable trop nutzen et pour qui Koordinaten deux LongInts. Salut 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 | 16.02.2007 ▲ |
|
|
|
|
RGH | Andreas Hötker
GDLmais erkläre mir s'il te plaît pourquoi on sur einem Dialogue avec les waitinput pas weiterkommt. ...à dem liegen, quoi Waitinput près de dem Aufrufen qui API MsgWaitForMultipleObjects encore so alles tut - peux dir wohl seulement Roland répondre. Salut Andreas
allô Andreas, qui de Dir genannte API venez dans Waitinput pas du tout avant. WAITINPUT gibt es déjà depuis Profan 1.0 ... et là donnais es cet API-Fuktion encore gar pas.
Pour den API-FAchmann: quoi passiert dans WaitInput? ici cela Delphi-Listing: KompilierenMarqueSéparation dans aller Kürze: Es volonté zunächste quelques globalen Flags zurückgesetzt et ensuite solange qui MessageLoop aufgerufen, jusqu'à eines qui abgefragten Ereignisse eingetreten ist. cet globalen Flags volonté de den Fensterprozeduren, teils dépendant vom jeweiligen Stil, gesetzt. aussi si es cet Fonctionnalité déjà depuis Version 1 gibt, wurde vous doch im Laufe qui Zeit verbessert et verfeinert, zuletzt dans Version 10.
API-Aufrufe gibt es naturellement dans MessageLoop: KompilierenMarqueSéparation (la première la ligne derrière dem Begin diente en supplément, F1 dans Editfeldern abzufragen, bevor es avec Version 10 qui Hotkeys donnais. vous dient, comment vieles autre, lediglich qui Kompatibilität trop précédent Versionen.)
Salut 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 | 16.02.2007 ▲ |
|
|
|
|
| Mmh, simple une Boucle alors. Besten Dank. |
|
|
| |
|
|
|
Ralph Theobald | allô Roland ,allô Si
merci pour eure Mühe.
The PtInRect function determines whether le specified point lies within le specified rectangle. A point is within a rectangle si il lies on le left or top side or is within espace four sides. A point on le right or bottom side is considered outside le rectangle.
BOOL PtInRect(
CONST RECT *lprc,// address of structure with rectangle POINT pt // structure with point ); Paramètres
lprc
Points to a RECT structure that contains le specified rectangle.
pt
Specifies a POINT structure that contains le specified point.
Retour Value
Si le specified point lies within le rectangle, le return value is TRUE. Si le function fails, le return value is FALSE. To get extended error information, call GetLastError.
qui Aufruf PtInRect(rect#,point#) funktioniert pas, était wohl un Verständnisproblem meinerseits. J'ai pensé qui Zugriff sur qui Strukturelemente erfolgt toujours sur qui Adresse.
Salut Ralph |
|
|
| |
|
|
|
Frank Abbing | Mach dir nix daraus, Ralph. suis aussi Schonmal par-dessus gestolpert . |
|
|
| |
|
|