| |
|
|
- Página 1 - |
|
GDL | ¡Hola,
es posible, dass se una así erzeugtes Ventana
ofenster&=create(window,%hwnd,Oberflächengestaltung,0,0,%maxx,%maxy)
genauso verhält como una %hwnd,quasi una 2tes Ventana principal.
Servus Georg |
|
|
| |
|
|
|
| |
|
- Página 1 - |
|
GDL | ¡Hola Andreas,
Yo bekomme lo en una Unterfenster no hin. Auf %hwnd klappts aber einwandfrei. KompilierenMarcaSeparaciónDef 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 |
|
|
| |
|
|
|
| ¡Hola Georg...
...es todavía no bastante perfekt... KompilierenMarcaSeparaciónDef @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.
Aber erkläre me Por favor, por qué uno en una Diálogo con los waitinput no weiterkommt.Oder debería uno waitinput sólo en Ausnahmefällen nutzen?
Servus Georg |
|
|
| |
|
|
|
| [quote:10c8e47fce=GDL]Aber erkläre me Por favor, por qué uno en una Diálogo con los waitinput no weiterkommt.[/quote:10c8e47fce] ...a el mentira, qué Waitinput neben el Aufrufen el API MsgWaitForMultipleObjects todavía así alles tut - kann dir wohl sólo Roland beantworten.
Saludo
Andreas |
|
|
| |
|
|
|
GDL | @ Andreas,
klappt wunderbar para Einklickabfrage.Für ständige Abfrage nehm Yo como ya früher schonmal gehabt.
@Getasynckeystate(2)<>0.
Como @Getasynckeystate(2)<>0 con waitinput no va y yo auch Buttons abfragen möchte verwendete Yo
settimer 1 waitinput killtimer
Verstehe zwar no por qué lo entonces va, aber hauptsache lo va.
Servus Georg |
|
|
| |
|
|
|
Ralph Theobald | ¡Hola ,
kann me alguien erklären, como ihr rausgefunden habt, daß el Api Función PTINRECT drei Parámetro ha.
Thomas Hölzer ha en Prffellow ( Dlgcheckarea) una ähnlichen Code benutzt. In el Win32 y en el SDK es PTinRect con zwei Parametern: 1. Struktur : Rechteckkoordinaten Ventana 2. Struktur: Mauskoordinaten Oder Yo qué übersehen ?
Saludo Ralph |
|
|
| |
|
|
|
| |
|
| |
|
|
| |
|
- Página 2 - |
|
|
RGH | Ralph Theobald
¡Hola ,
kann me alguien erklären, como ihr rausgefunden habt, daß el Api Función PTINRECT drei Parámetro ha.
Thomas Hölzer ha en Prffellow ( Dlgcheckarea) una ähnlichen Code benutzt. In el Win32 y en el SDK es PTinRect con zwei Parametern: 1. Struktur : Rechteckkoordinaten Ventana 2. Struktur: Mauskoordinaten Oder Yo qué übersehen ?
Saludo Ralph
¡Hola Ralph, el erste Parámetro es una Zeiger en una Struktur (= 32 Bit) y zweite Parámetro direkt el Struktur. El Struktur POINT besteht de zwei 32-Bit Werten para el Koordinaten y es somit 64 Bit groß. Anstelle el Struktur puede auch el zwei Koordinaten je como Longint (32 Bit) transferencia voluntad. Das son entonces auch otra vez 64 Bit y alles es en el Lot! In XProfan es al Einfachsten, para el ersten Parámetro una Strukturvariable a nutzen y para el Koordinaten zwei LongInts. Saludo 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
GDLAber erkläre me Por favor, por qué uno en una Diálogo con los waitinput no weiterkommt. ...a el mentira, qué Waitinput neben el Aufrufen el API MsgWaitForMultipleObjects todavía así alles tut - kann dir wohl sólo Roland beantworten. Saludo Andreas
¡Hola Andreas, el de Usted genannte API kommt en Waitinput überhaupt no antes. WAITINPUT hay ya seit Profano 1.0 ... y como gab lo esta API-Fuktion todavía nada.
Für el API-FAchmann: Was passiert en WaitInput? Hier el Delphi-Listing: KompilierenMarcaSeparación In aller Kürze: Lo voluntad zunächste algunos globalen Flags zurückgesetzt y luego solange el MessageLoop aufgerufen, a uno el abgefragten Ereignisse eingetreten es. Diese globalen Flags voluntad de los Fensterprozeduren, teils abhängig vom jeweiligen Stil, gesetzt. Auch si esta Funktionalität ya seit Versión 1 son, wurde ellos doch en el Laufe el Tiempo mejorado y verfeinert, zuletzt en Versión 10.
API-Aufrufe hay natürlich en MessageLoop: KompilierenMarcaSeparación (El erste Línea hinter el Begin diente dazu, F1 en Editfeldern abzufragen, bevor lo con Versión 10 el Hotkeys gab. Sie dient, como vieles otro, lediglich el Kompatibilität a früheren Versionen.)
Saludo 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, simplemente una Bucle also. Besten Dank. |
|
|
| |
|
|
|
Ralph Theobald | Hola Roland ,hallo If
Gracias para eure Mühe.
The PtInRect function determines whether the specified point lies within the specified rectangle. A point is within a rectangle if it lies on the left or top side or is within all four sides. A point on the right or bottom side is considered outside the rectangle.
BOOL PtInRect(
CONST RECT *lprc,// address of structure with rectangle POINT pt // structure with point ); Parámetros
lprc
Points to a RECT structure that contains the specified rectangle.
pt
Specifies a POINT structure that contains the specified point.
Volver Value
If the specified point lies within the rectangle, the volver value is TRUE. If the function fails, the volver value is FALSE. To get extended error information, call GetLastError.
Der Aufruf PtInRect(rect#,point#) funktioniert no, war wohl una Verständnisproblem meinerseits. Pensé el Zugriff en el Strukturelemente es siempre en Adresse.
Saludo Ralph |
|
|
| |
|
|
|
Frank Abbing | Mach dir nix lo, Ralph. Bin auch schonmal darüber gestolpert . |
|
|
| |
|
|