Español
Foro

Erste Erfahrungen...

 
- Página 1 -


on(Event) (Descargar)

El Unit (Sourcecode es beiliegend!), ermöglicht (sin Fastmode y Prozeduradressen!) el Abprüfen de Doppelklicks oder Rechte-Botón del ratón-Aktionen en Dialogelementen y Controls como Listboxen, Buttons... Auch el Neuzeichnen de Dialogen es nun una Kinderspiel.

Schade el Thomas seine easyVent no umbauen kann - also Yo veces intenta seine dll en minimaler Base nachzustellen con el entscheidenen Punkt el lo sin Procaddr funktioniert! Und lo funktioniert wunderbar!

Ejemplo:
KompilierenMarcaSeparación
 {$cleq}
 $U on.pcu = on.
Def GetSysColor(1) !"User32","GetSysColor"
declare lb&,dlg&
//unsichtbares Hauptfenster damit lecker messages angekommen
windowstyle 80 | 1024
window 0,0 - 0,0
showwindow(%hwnd,0)
//
windowstyle 512+8
dlg&:=createdialog(0,"MyDlg",100,100,640,480)
lb&:=createbutton(dlg&,"",10,30,100,100)
on.event "paint"	,dlg&	,12343
on.event "close"	,dlg&	,12344
on.event "ldklick"	,lb&	,12345
on.event "rklick"	,lb&	,12346
on.event "mouseover"	,lb&	,12347
on.event "mouseleave"	,lb&	,12348
PaintDlg 0

while 1

    waitinput
    case %umessage==12343 : paintDlg 0
    case %umessage==12344 : break
    case %umessage==12345 : settext dlg&,"dblklick "+str$(&gettickcount)
    case %umessage==12346 : settext dlg&,"rklick "+str$(&gettickcount)
    case %umessage==12347 : settext lb&,"Hau ab!"
    case %umessage==12348 : settext lb&,""

wend

on.delevent "paint"	,dlg&	,12343
on.delevent "close"	,dlg&	,12344
on.delevent "ldklick"	,lb&	,12345
on.delevent "rklick"	,lb&	,12346
on.delevent "mouseover"	,lb&	,12347
on.delevent "mouseleave",lb&	,12348
on.close
end

Proc PaintDlg

    parameters u&
    startpaint dlg&
    usefont "MS Sans Serif",10,0,0,0,u&
    textcolor $00FF0000,-1
    drawtext 10,300,"https://ich.hab-doch-garkeine-homepage.de"
    endpaint

=s4 href='./../../funktionsreferenzen/XProfan/ENDPROC/'>ENDPROC

 
13.09.2006  
 



 
- Página 1 -



Jac
de
Lad
Welche Versión es nun el richtigeß Wenn I el Link bastante oben klicke kommt una fast 600kB-Expediente, unten en el Contribución (wo x veces gedownloaded es) kommt sólo una 9kB-Expediente...ligeramente verwirrend.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.09.2006  
 



Beides es el selbe! El una es no 600kb groß! Yo glaub Su navegador spinnt, aber wart Yo tener hier igual todavía qué besseres!
 
14.09.2006  
 



So! Schau Dir veces el obigen Descargar a - y el Ejemplo! Nun ists wirklich kinderleicht y uno debería se con el Unit (source liegt esta) nichtmal mehr a DLL kümmern!
KompilierenMarcaSeparación
 {$cleq}
 $U on.pcu = on.
Def GetSysColor(1) !"User32","GetSysColor"
declare lb&,dlg&
//unsichtbares Hauptfenster damit lecker messages angekommen
windowstyle 80 | 1024
window 0,0 - 0,0
showwindow(%hwnd,0)
//
windowstyle 512+8
dlg&:=createdialog(0,"MyDlg",100,100,640,480)
lb&:=createbutton(dlg&,"",10,30,100,100)
on.event "paint"	,dlg&	,12343
on.event "close"	,dlg&	,12344
on.event "ldklick"	,lb&	,12345
on.event "rklick"	,lb&	,12346
on.event "mouseover"	,lb&	,12347
on.event "mouseleave"	,lb&	,12348
PaintDlg 0

while 1

    waitinput
    case %umessage==12343 : paintDlg 0
    case %umessage==12344 : break
    case %umessage==12345 : settext dlg&,"dblklick "+str$(&gettickcount)
    case %umessage==12346 : settext dlg&,"rklick "+str$(&gettickcount)
    case %umessage==12347 : settext lb&,"Hau ab!"
    case %umessage==12348 : settext lb&,""

wend

on.delevent "paint"	,dlg&	,12343
on.delevent "close"	,dlg&	,12344
on.delevent "ldklick"	,lb&	,12345
on.delevent "rklick"	,lb&	,12346
on.delevent "mouseover"	,lb&	,12347
on.delevent "mouseleave",lb&	,12348
on.close
end

Proc PaintDlg

    parameters u&
    startpaint dlg&
    usefont "MS Sans Serif",10,0,0,0,u&
    textcolor $00FF0000,-1
    drawtext 10,300,"https://ich.hab-doch-garkeine-homepage.de"
    endpaint

=s4 href='./../../funktionsreferenzen/XProfan/ENDPROC/'>ENDPROC

 
14.09.2006  
 




Jac
de
Lad
Gracias, Yo probiers heute igual de!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.09.2006  
 




Jac
de
Lad
Gleich el erste Cuestión: Gibt lo una oder mehrere Bereiche de Usermessages, el uno no definieren debería (se Yo por ejemplo como mensaje no 1 nehmen, por qué De todos modos)?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.09.2006  
 



 
- Página 2 -


Sí hay! Alle Messages welche lo eh ya son solltest No como Usermessages ocupar! Welche Messages lo eh ya son? Tomar simplemente Konstantinopel  y gib wm_ una, hay siehst Usted welche Bereiche a meiden son.

z.B.:
KompilierenMarcaSeparación
# WM_ACTIVATE = { $6 | 6 }
# WM_ACTIVATEAPP = { $1C | 28 }
# WM_APP = { $8000 | 32768 }
# WM_ASKCBFORMATNAME = { $30C | 780 }
# WM_CANCELJOURNAL = { $4B | 75 }
# WM_CANCELMODE = { $1F | 31 }
# WM_CAPTURECHANGED = { $215 | 533 }
# WM_CHANGECBCHAIN = { $30D | 781 }
# WM_CHAR = { $102 | 258 }
# WM_CHARTOITEM = { $2F | 47 }
# WM_CHILDACTIVATE = { $22 | 34 }
# WM_CLEAR = { $303 | 771 }
# WM_CLOSE = { $10 | 16 }
# WM_COALESCE_FIRST = { $390 | 912 }
# WM_COALESCE_LAST = { $39F | 927 }
# WM_COMMAND = { $111 | 273 }
# WM_COMMNOTIFY = { $44 | 68 }
# WM_COMPACTING = { $41 | 65 }
# WM_COMPAREITEM = { $39 | 57 }
# WM_CONTEXTMENU = { $7B | 123 }
# WM_CONTEXTMENU = { $7B | 123 }
# WM_COPY = { $301 | 769 }
# WM_COPYDATA = { $4A | 74 }
# WM_CREATE = { $1 | 1 }
# WM_CTLCOLOR = { $19 | 25 }
# WM_CTLCOLORBTN = { $135 | 309 }
# WM_CTLCOLORDLG = { $136 | 310 }
# WM_CTLCOLOREDIT = { $133 | 307 }
# WM_CTLCOLORLISTBOX = { $134 | 308 }
# WM_CTLCOLORMSGBOX = { $132 | 306 }
# WM_CTLCOLORSCROLLBAR = { $137 | 311 }
# WM_CTLCOLORSTATIC = { $138 | 312 }
# WM_CUT = { $300 | 768 }
# WM_DDE_ACK = WM_DDE_FIRST + { $4 | 4 }
# WM_DDE_ACK = WM_DDE_FIRST + { $4 | 4 }
# WM_DDE_ADVISE = WM_DDE_FIRST + { $2 | 2 }
# WM_DDE_ADVISE = WM_DDE_FIRST + { $2 | 2 }
# WM_DDE_DATA = WM_DDE_FIRST + { $5 | 5 }
# WM_DDE_DATA = WM_DDE_FIRST + { $5 | 5 }
# WM_DDE_EXECUTE = WM_DDE_FIRST + { $8 | 8 }
# WM_DDE_EXECUTE = WM_DDE_FIRST + { $8 | 8 }
# WM_DDE_FIRST = { $3E0 | 992 }
# WM_DDE_FIRST = { $3E0 | 992 }
# WM_DDE_INITIATE = WM_DDE_FIRST
# WM_DDE_INITIATE = WM_DDE_FIRST + { $0 | 0 }
# WM_DDE_LAST = WM_DDE_FIRST + { $8 | 8 }
# WM_DDE_LAST = WM_DDE_FIRST + { $8 | 8 }
# WM_DDE_POKE = WM_DDE_FIRST + { $7 | 7 }
# WM_DDE_POKE = WM_DDE_FIRST + { $7 | 7 }
# WM_DDE_REQUEST = WM_DDE_FIRST + { $6 | 6 }
# WM_DDE_REQUEST = WM_DDE_FIRST + { $6 | 6 }
# WM_DDE_TERMINATE = WM_DDE_FIRST + { $1 | 1 }
# WM_DDE_TERMINATE = WM_DDE_FIRST + { $1 | 1 }
# WM_DDE_UNADVISE = WM_DDE_FIRST + { $3 | 3 }
# WM_DDE_UNADVISE = WM_DDE_FIRST + { $3 | 3 }
# WM_DEADCHAR = { $103 | 259 }
# WM_DELETEITEM = { $2D | 45 }
# WM_DESTROY = { $2 | 2 }
# WM_DESTROYCLIPBOARD = { $307 | 775 }
# WM_DEVICECHANGE = { $219 | 537 }
# WM_DEVMODECHANGE = { $1B | 27 }
# WM_DISPLAYCHANGE = { $7E | 126 }
# WM_DRAWCLIPBOARD = { $308 | 776 }
# WM_DRAWITEM = { $2B | 43 }
# WM_DROPFILES = { $233 | 563 }
# WM_ENABLE = { $A | 10 }
# WM_ENDSESSION = { $16 | 22 }
# WM_ENTERIDLE = { $121 | 289 }
# WM_ENTERMENULOOP = { $211 | 529 }
# WM_ENTERSIZEMOVE = { $231 | 561 }
# WM_ERASEBKGND = { $14 | 20 }
# WM_EXITMENULOOP = { $212 | 530 }
# WM_EXITSIZEMOVE = { $232 | 562 }
# WM_FONTCHANGE = { $1D | 29 }
# WM_GETDLGCODE = { $87 | 135 }
# WM_GETFONT = { $31 | 49 }
# WM_GETHOTKEY = { $33 | 51 }
# WM_GETICON = { $7F | 127 }
# WM_GETMINMAXINFO = { $24 | 36 }
# WM_GETTEXT = { $D | 13 }
# WM_GETTEXTLENGTH = { $E | 14 }
# WM_HANDHELDFIRST = { $358 | 856 }
# WM_HANDHELDLAST = { $35F | 863 }
# WM_HELP = { $53 | 83 }
# WM_HOTKEY = { $312 | 786 }
# WM_HSCROLL = { $114 | 276 }
# WM_HSCROLLCLIPBOARD = { $30E | 782 }
# WM_ICONERASEBKGND = { $27 | 39 }
# WM_IME_CHAR = { $286 | 646 }
# WM_IME_COMPOSITION = { $10E | 270 }
# WM_IME_COMPOSITIONFULL = { $284 | 644 }
# WM_IME_CONTROL = { $283 | 643 }
# WM_IME_ENDCOMPOSITION = { $10D | 269 }
# WM_IME_KEYDOWN = { $290 | 656 }
# WM_IME_KEYLAST = { $10F | 271 }
# WM_IME_KEYUP = { $291 | 657 }
# WM_IME_NOTIFY = { $282 | 642 }
# WM_IME_SELECT = { $285 | 645 }
# WM_IME_SETCONTEXT = { $281 | 641 }
# WM_IME_STARTCOMPOSITION = { $10C | 268 }
# WM_INITDIALOG = { $110 | 272 }
# WM_INITMENU = { $116 | 278 }
# WM_INITMENUPOPUP = { $117 | 279 }
# WM_INPUTLANGCHANGE = { $51 | 81 }
# WM_INPUTLANGCHANGEREQUEST = { $50 | 80 }
# WM_KEYDOWN = { $100 | 256 }
# WM_KEYFIRST = { $100 | 256 }
# WM_KEYLAST = { $108 | 264 }
# WM_KEYUP = { $101 | 257 }
# WM_KILLFOCUS = { $8 | 8 }
# WM_LBUTTONDBLCLK = { $203 | 515 }
# WM_LBUTTONDOWN = { $201 | 513 }
# WM_LBUTTONUP = { $202 | 514 }
# WM_MBUTTONDBLCLK = { $209 | 521 }
# WM_MBUTTONDOWN = { $207 | 519 }
# WM_MBUTTONUP = { $208 | 520 }
# WM_MDIACTIVATE = { $222 | 546 }
# WM_MDICASCADE = { $227 | 551 }
# WM_MDICREATE = { $220 | 544 }
# WM_MDIDESTROY = { $221 | 545 }
# WM_MDIGETACTIVE = { $229 | 553 }
# WM_MDIICONARRANGE = { $228 | 552 }
# WM_MDIMAXIMIZE = { $225 | 549 }
# WM_MDINEXT = { $224 | 548 }
# WM_MDIREFRESHMENU = { $234 | 564 }
# WM_MDIRESTORE = { $223 | 547 }
# WM_MDISETMENU = { $230 | 560 }
# WM_MDITILE = { $226 | 550 }
# WM_MEASUREITEM = { $2C | 44 }
# WM_MENUCHAR = { $120 | 288 }
# WM_MENUSELECT = { $11F | 287 }
# WM_MOUSEACTIVATE = { $21 | 33 }
# WM_MOUSEFIRST = { $200 | 512 }
# WM_MOUSEHOVER = { $2A1 | 673 }
# WM_MOUSELAST = { $209 | 521 }
# WM_MOUSELEAVE = { $2A3 | 675 }
# WM_MOUSEMOVE = { $200 | 512 }
# WM_MOVE = { $3 | 3 }
# WM_MOVING = { $216 | 534 }
# WM_NCACTIVATE = { $86 | 134 }
# WM_NCCALCSIZE = { $83 | 131 }
# WM_NCCREATE = { $81 | 129 }
# WM_NCDESTROY = { $82 | 130 }
# WM_NCHITTEST = { $84 | 132 }
# WM_NCLBUTTONDBLCLK = { $A3 | 163 }
# WM_NCLBUTTONDOWN = { $A1 | 161 }
# WM_NCLBUTTONUP = { $A2 | 162 }
# WM_NCMBUTTONDBLCLK = { $A9 | 169 }
# WM_NCMBUTTONDOWN = { $A7 | 167 }
# WM_NCMBUTTONUP = { $A8 | 168 }
# WM_NCMOUSEMOVE = { $A0 | 160 }
# WM_NCPAINT = { $85 | 133 }
# WM_NCRBUTTONDBLCLK = { $A6 | 166 }
# WM_NCRBUTTONDOWN = { $A4 | 164 }
# WM_NCRBUTTONUP = { $A5 | 165 }
# WM_NEXTDLGCTL = { $28 | 40 }
# WM_NEXTMENU = { $213 | 531 }
# WM_NOTIFY = { $4E | 78 }
# WM_NOTIFYFORMAT = { $55 | 85 }
# WM_NULL = { $0 | 0 }
# WM_PAINT = { $F | 15 }
# WM_PAINTCLIPBOARD = { $309 | 777 }
# WM_PAINTICON = { $26 | 38 }
# WM_PALETTECHANGED = { $311 | 785 }
# WM_PALETTEISCHANGING = { $310 | 784 }
# WM_PARENTNOTIFY = { $210 | 528 }
# WM_PASTE = { $302 | 770 }
# WM_PENWINFIRST = { $380 | 896 }
# WM_PENWINLAST = { $38F | 911 }
# WM_POWER = { $48 | 72 }
# WM_POWERBROADCAST = { $218 | 536 }
# WM_PRINT = { $317 | 791 }
# WM_PRINTCLIENT = { $318 | 792 }
# WM_PRINTCLIENT = { $318 | 792 }
# WM_QUERYDRAGICON = { $37 | 55 }
# WM_QUERYENDSESSION = { $11 | 17 }
# WM_QUERYNEWPALETTE = { $30F | 783 }
# WM_QUERYOPEN = { $13 | 19 }
# WM_QUEUESYNC = { $23 | 35 }
# WM_QUIT = { $12 | 18 }
# WM_RBUTTONDBLCLK = { $206 | 518 }
# WM_RBUTTONDOWN = { $204 | 516 }
# WM_RBUTTONUP = { $205 | 517 }
# WM_RENDERALLFORMATS = { $306 | 774 }
# WM_RENDERFORMAT = { $305 | 773 }
# WM_SETCURSOR = { $20 | 32 }
# WM_SETFOCUS = { $7 | 7 }
# WM_SETFONT = { $30 | 48 }
# WM_SETHOTKEY = { $32 | 50 }
# WM_SETICON = { $80 | 128 }
# WM_SETREDRAW = { $B | 11 }
# WM_SETTEXT = { $C | 12 }
# WM_SETTINGCHANGE = WM_WININICHANGE
# WM_SHOWWINDOW = { $18 | 24 }
# WM_SIZE = { $5 | 5 }
# WM_SIZECLIPBOARD = { $30B | 779 }
# WM_SIZING = { $214 | 532 }
# WM_SPOOLERSTATUS = { $2A | 42 }
# WM_STYLECHANGED = { $7D | 125 }
# WM_STYLECHANGING = { $7C | 124 }
# WM_SYSCHAR = { $106 | 262 }
# WM_SYSCOLORCHANGE = { $15 | 21 }
# WM_SYSCOMMAND = { $112 | 274 }
# WM_SYSDEADCHAR = { $107 | 263 }
# WM_SYSKEYDOWN = { $104 | 260 }
# WM_SYSKEYUP = { $105 | 261 }
# WM_SYSTEMERROR = { $17 | 23 }
# WM_SYSTIMER = { $118 | 280 }
# WM_TCARD = { $52 | 82 }
# WM_TIMECHANGE = { $1E | 30 }
# WM_TIMER = { $113 | 275 }
# WM_UNDO = { $304 | 772 }
# WM_USER = { $400 | 1024 }
# wm_user = { $400 | 1024 }
# WM_USERCHANGED = { $54 | 84 }
# WM_VKEYTOITEM = { $2E | 46 }
# WM_VSCROLL = { $115 | 277 }
# WM_VSCROLLCLIPBOARD = { $30A | 778 }
# WM_WINDOWPOSCHANGED = { $47 | 71 }
# WM_WINDOWPOSCHANGING = { $46 | 70 }
# WM_WININICHANGEn class=s2>= { $1A | 26 }
 
14.09.2006  
 




Jac
de
Lad
Nur el wm_-Messages oder auch el lb_, lv_ usw.? (entschuldige Por favor, mi blöden Fragen!)
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.09.2006  
 



Quatsch: (weils a Usermessages va)

Naja! Si usted Events para una ListBox como Mensajes del usuario durchschleifen willst - entonces darfst Usted en el Falle uno Listbox no LB_s nehmen, sei porque, Usted willst el Grundfunktionalität dieser Message incluso behandeln. (wovon Yo abrate)

Richtig:

Nur el WMs no!

usermessages 
 
14.09.2006  
 




Jac
de
Lad
Gracias!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.09.2006  
 



Gern!

El Unit debería a deutlich stabileren Programmen führen como si con ProcAddr gehandhabt se.
 
14.09.2006  
 




Rolf
Koch
Apéndice de me, todos de IF aufgeführten Messages darf uno nehmen, aber entonces bist Usted para alles verantwortlich, qué esta Message a tätigen ha. Also alles qué Roland ya reingehauen ha musst Usted nachbauen u.s.w. - vergisst Usted irgendetwas oder weist no lo que el Message genau bedeutet, entonces gibts Problemas.
@if En me klappt el on.dll a ahora einwandfrei, voluntad si yo Tiempo habe bisschen brutalere Tests durchführen *lol*
 
14.09.2006  
 



Gracias Rolf!
 
14.09.2006  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.373 Views

Untitledvor 0 min.
Peter Max Müller13.05.2015
Ernst17.05.2014
H.Brill09.04.2014
Ingobingo10103.05.2012
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

iF (12x)
Jac de Lad (6x)
Rolf Koch (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie