English
Source / code snippets

Fortschrittsbalken graphic Statusbar

 

CompileMarkSeparation
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
 
07/15/07  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

1.630 Views

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie