Français
Source/ Codesnippets

démolir Button Erweitert Messagebox Fil Minuteur Zählen

 
MessageBox Fil Button Changement démolir Minuteur Erweitert Zählen

Siehe aussi: asyncmsgbox.inc (  [...]  )

iF (29.06.12)
Hihi,

schauma: Herunterladen
externer Télécharger



 {$cleq}
const 	asyncMessageBox.Message=1025
declare	asyncMessageBox.C&
decimals 0

proc asyncMessageBox

    parameters wnd&,s$,tit$,mode&
    add asyncMessageBox.C&,1
    var h&=globalAlloc(gPTR,24)
    long h&,0=addr($ S),addr(tit$),mode&,wnd&,create("text",hWnd,»,0,0,0,0),asyncMessageBox.C&
    setWindowLong(long(h&,16),gwl_userdata,setWindowLong(long(h&,16),gwl_wndProc,procaddr(asyncMessageBox.wndProc,4)))
    asyncMessageBox.createThread(h&)

    tandis que long(h&,0)

        sleep 10

    Wend

    whileloop 100

    Wend

    var msg&=long(h&,16)
    messages de l'utilisateur asyncMessageBox.Message
    globalFree(h&)
    var msgboxWnd&=findWindow("."+str$(hWnd)+"."+str$(asyncMessageBox.C&))
    settext msgboxWnd&,tit$
    return msgboxWnd&

endproc

nProc asyncMessageBox.createThread

    parameters h&
    createThread(0,0,procAddr(asyncMessageBox.thread,1),h&,0,0)

endproc

nProc asyncMessageBox.wndProc

    Paramètres wnd&,msg&,wp&,lp&

    si msg&=asyncMessageBox.Message

        sendMessage(hWnd,asyncMessageBox.Message,wnd&,lp&)
        destroyWindow(wnd&)
        return 0

    endif

    return callWindowProc(getWindowLong(wnd&,gwl_userData),wnd&,msg&,wp&,lp&)

endproc

nproc asyncMessageBox.thread

    parameters h&
    var s$=string$(long(h&,0),0)
    var tit$=string$(long(h&,4),0)
    var mode&=long(h&,8)
    var wnd&=long(h&,12)
    var trd&=long(h&,16)
    long h&,0=0
    sendMessage(trd&,asyncMessageBox.Message,0,messageBox(wnd&,s$,"."+str$(hWnd)+"."+str$(long(h&,20)),mode&))
    return 0

endproc

cls
var myMsgBoxWnd&=asyncMessageBox(desktop,"Huhu","Titel",mb_ok)
settext findWindowEx(myMsgBoxWnd&,0,"BUTTON","OK"),"&Abbrechen"

tandis que 1

    waitinput

Wend

end

ou bien hiermit zählts joli runter et schließt sich selbständig:
cls
var myMsgBoxWnd&=asyncMessageBox(desktop,"Huhu","Titel",mb_ok)
var btn&=findWindowEx(myMsgBoxWnd&,0,"BUTTON","OK")
var c&=10

tandis que (c&+2) and isWindow(myMsgBoxWnd&)

    waitinput 1000
    settext btn&,"&Abbrechen ["+str$(c&)+"]"
    sub c&,1

Wend

cas isWindow(myMsgBoxWnd&) : sendMessage(myMsgBoxWnd&,wm_close,0,0)
imprimer "fertsch"

tandis que 1

    waitinput

Wend

end



iF (29.06.12)
et ici la fois rein per Externe:
'{$ Cleq}
decimals 0
cls
var myTimer&=external("user32","SetTimer",0,0,100,procAddr(myMessageBoxAPCProc,4))
imprimer messageBox("Text","."+str$(%hWnd)+".allô monde!",0)
waitinput
end

proc myMessageBoxAPCProc

    parameters wnd&,msg&,id&,tme&
    var s$="."+str$(%hWnd)+"."
    var msgboxWnd&=findWindow($ S)
    casenot msgboxWnd& : return
    external("user32","KillTimer",0,myTimer&)
    settext msgboxWnd&,del$(getText$(msgboxWnd&),1,len($ S))
    var btn&=external("user32","FindWindowExA",msgboxWnd&,0,"BUTTON","OK")
    casenot btn& : return
    setText btn&,"&Abbrechen"

endProc


avec cela cela so geschrieben mais wiederum 100%ig (statt 99%ig) "absturzsicher" ist,
devrait quelque chose comme Roland nativ einbauen car un APC sur une interpretierte XProfan-
Proc peux toujours abstürzen besonders desto komplexer et größer cela Programme ist.
 
04.07.2012  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

7.659 Views

Untitledvor 0 min.
ecki29.07.2023
Walter30.12.2022
RudiB.14.04.2022
p.specht21.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie