Français
Source/ Codesnippets

Fortschrittsbalken Grafik Statusbar

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Statusbar mit Fortschrittsbalken und Grafik
====================================================================
StatusZeile mit API für Profan 32 Bit, Win 95 erzeugen
und automatisch an die Fensterveränderung anpassen.
Zusätzlich im ersten Feld der Statusbar eine Progressbar erzeugen.
Grafik in der Statusbar ausgeben
Buttons als Steuer-Elemente in einem Feld der Statuszeile.
(c) 1998 Richard Maurukas
====================================================================
declare Statbar&,t$,Ende%
declare Felder&
declare StatbarFeld#           Beinhaltet die Feldbereiche von links
Declare StatbarText1#,StatBarText2#,StatBarText3#,StatBarText4#  usw
Declare TRect#                 Rectangle des Feldes für die Progressbar
Declare Progress_1&            Handle der Progressbar
declare sbutton1%,sbutton2%,sbutton3%,sbutton4%,sSatz%
DIM Trect#,16                  Max Adresse der Rectangle Struktur
Dim Statbartext1#,255          maximalAnzahl der Zeichen im Feld 255
Dim StatBarText2#,255
Dim StatBarText3#,255
Dim StatBArText4#,255
dim Statbarfeld#,255
long StatBarFeld#,0=200                     erstes Feld von Links
long StatBarFeld#,4=400                     zweites Feld von Links
long StatBarFeld#,8=580                     drittes Feld von Links
long StatBarFeld#,12=640                    viertes Feld usw.
string StatBarText1#,0=1998 Richard Maurukas
string StatBarText2#,0=Statuszeile für Profan 32 Bit
String StatBarText3#,0=mit Feldern
String StatbarText4#,0=Time$(0)
Def CreateStatusBar(4) !COMCTL32.DLL, CreateStatusWindowA
cls
let Statbar&=CreateStatusBar($50800010,0,%hwnd,100)   als letztes eine ID
let Felder&=sendmessage(Statbar&,$404,4,StatBarFeld#) Aufteilung der Felder
sendmessage(Statbar&,$401,0,StatBarText1#)           Text ab ins erste Feld
sendmessage(Statbar&,$401,1,StatBarText2#)          Text ab ins zweite Feld
sendmessage(Statbar&,$401,2,StatBartext3#)          Text ab ins dritte Feld
sendmessage(Statbar&,$401,3,StatBartext4#)          Text ab ins dritte Feld
usw.
Hier noch einige Infos aus der Statbar holen u. anzeigen
Print Anzahl der Felder in der StatusBar: ;Sendmessage(Statbar&,$406,0,0)
Print Textlänge in Feld 1               : ;SendMessage(Statbar&,$403,0,0)
Die Rechteck Struktur aus dem ersten Statusbarfeld für die Progressbar holen
sendmessage(Statbar&,$40A,0,TRect#)
die Progressbar in das 1. Feld der Statusbar setzen
Let Progress_1&=@control(msctls_progress32,@$(2),$50000000,
long(TRect#,0),long(Trect#,4),
long(Trect#,8),sub(long(Trect#,12),2),
Statbar&,102,%HInstance)
sendmessage(Progress_1&,$402,50,0) auf 50 setzen
sendmessage(Statbar&,$40A,2,TRect#) Die Rechteckstrucktur aus Feld 3
Let sbutton1%=createbutton(statbar&,|<,long(TRect#,0),long(Trect#,4),
20,sub(long(Trect#,12),2))
Let sbutton2%=createbutton(statbar&,<,add(long(TRect#,0),20),long(Trect#,4),
20,sub(long(Trect#,12),2))
Let sbutton3%=createbutton(statbar&,>,add(long(TRect#,0),80),long(Trect#,4),
20,sub(long(Trect#,12),2))
Let sbutton4%=createbutton(statbar&,>|,add(long(TRect#,0),100),
long(Trect#,4),20,sub(long(Trect#,12),2))
Let ssatz%=createedit(statbar&,50,add(long(TRect#,0),40),long(Trect#,4),
40,sub(long(Trect#,12),2))

whilenot equ(ende%,20) ges 46

    DrawLibIcon Progman.EXE,ende%,mul(30,ende%),100
    DrawLibIcon Progman.EXE,add(20,ende%),mul(30,ende%),140
    inc ende%

wend

startpaint Statbar&
DrawLibIcon Progman.EXE,39,add(long(TRect#,0),130),-4
endpaint
decimals 0
Let Ende%=0

whilenot Ende%

    waitinput

    If @equ(%key,4)

        wenn die Fenstergröße verändert wurde, die Statusbar ans Fenster anpassen.
        SetWindowPos Statbar&=0,0-0,0;0
        startpaint Statbar&
        DrawLibIcon Progman.EXE,39,add(long(TRect#,0),130),-4
        endpaint

    Elseif Getfocus(Sbutton1%)

        sendmessage(Progress_1&,$402,0,0)   auf 0 setzen
        Settext ssatz%,0

    Elseif Getfocus(Sbutton2%)

        sendmessage(Progress_1&,$403,-2,0)   um 2 erniedrigen
        Settext ssatz%,str$(sub(Val(gettext$(Ssatz%)),2) )

    Elseif Getfocus(Sbutton3%)

        sendmessage(Progress_1&,$403,2,0)   um 2 erhöhen
        Settext ssatz%,str$(add(Val(gettext$(Ssatz%)),2) )

    Elseif getfocus(Sbutton4%)

        sendmessage(Progress_1&,$402,100,0) auf 100 setzen
        Settext ssatz%,100

    Elseif @Equ(%Scankey,27)

        let ende%=1

    endif

wend

dispose Statbartext1#
Dispose Statbartext2#
Dispose Statbartext3#
Dispose Statbartext4#
Dispose Statbarfeld#  Tippfehler Dsipose Stabarfeld# verbessert, Thomas Hölzer
dispose Trect#
end
 
15.07.2007  
 



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

1.625 Views

Untitledvor 0 min.
Thomas Freier30.01.2024
Stephan Sonneborn04.11.2019
PETER195618.07.2018
Andre Rohland04.05.2014
plus...

Themeninformationen

cet Thema hat 1 participant:

unbekannt (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