Français
Forum

Kalenderansicht

 

Dirk
Kuntzmann
allô Profaner,
gibt es dans Profan qui Possibilité den le calendrier, comment il chez Dateedit aufklappt, tout de suite et ständig Montrer trop laisser?

Frohe Weihnachten (gehabt trop avons) à alle

Salut Dirk
 
26.12.2007  
 




Rolf
Koch
Hi
meinste quelque chose comme?
[web]https://XProfan.com/thread.core?t=5474&highlight=sysmonthcal32[/web]
 
26.12.2007  
 




Dirk
Kuntzmann
allô Rolf,
si du quelque chose envoies wird es sicherlich marcher, je hab malheureusement ne...aucune Prefellow zur main, so dass qui Test quelque chose dauern peux.
quand même vielen Dank seulement einmal pour qui schnelle Antwort.

Salut Dirk
 
26.12.2007  
 



aussi déjà ici geschaut? [...] 
 
26.12.2007  
 




Rolf
Koch
ou bien nochmal quelque chose, quoi je grad zusammengestellt habe et einfacher ist:
KompilierenMarqueSéparation
declare calender&,lesen&
declare dtp#
DEF getsystime(2) SendMessage(&(1),4097,0,&(2))
dim dtp#,20

PROC GETDATE

    declare d$,m$,y$
    parameters chdl&
    getsystime(chdl&,dtp#)
    d$=format$(00,word(dtp#,6))
    m$=format$(00,word(dtp#,2))
    y$=format$(0000,word(dtp#,0))
    return d$+.+m$+.+y$

ENDPROC

cls
calender&=Control(SysMonthCal32,,$54000004,1,1,202,155,%hwnd,2000,%hinstance)
lesen&=Create(Button,%hwnd,Zeige,220,10,100,20)

while 1

    waitinput

    if getfocus(lesen&)

        getdate calender&
        messagebox($(0),Gewählt,0)

    endif

wend

dispose dtp#
 
26.12.2007  
 




Dietmar
Horn
allô Dirk,

Lade Dir simple ici aus dem Wettbewerbsbereich unsere MMJ-Quellcodesammlung runter. là findest Du cela de Rolf genannte Beispiel et im Unterordner System alle eventuell de den large sur 1000 Demoquellcodes nécessaire Include- et sonstige Fichiers, avec cela qui Demos tout de suite courir sommes (qui jeweils passende Profan²- bzw. XProfan-Version naturellement vorausgesetzt).

si Du dans qui Suchfunktion qui Quellcodesammlung den Begriff le calendrier eingibst, ensuite findest Du weitere Beispiele en supplément, qui Du Dir selber anpassen peux.

Marc-Gordon Kröhn hatte cet l'an la fois une komplette Terminverwaltung veröffentlicht (cet ist u.a. im XProfan-Manager enthalten: Kurse -> Demo-Programme):

Pour cela komplette Programme wird zwar qui ListView.dll de Frank Abbing nécessaire, mais qui Kalenderteil funktioniert aussi sans cet DLL. là peux Du Dir pratique alles anpassen, quoi Dein Herz begehrt, car qui Code ist très bien dokumentiert.
KompilierenMarqueSéparation
(C) 2007 by Marc-Gordon Kröhn, http://www.marc-gordon.de
 $P*
USERMESSAGES 16
Declare lvdll&,exit%,liste&,freelist&,text$,lvfont&,idx%,idx2%,Kalender&,X&,wochenende%,zeile1$,zeile2$
Declare AnzahlSpalten%,BreiteAnfang%,BreiteEnde%,ZeileY%,MerkeX%,MerkeY%,Kalender&,spalte$,ende$,styleset$,st%
Declare Kal_Innen&,Kal_NoAct&,Kal_Text&,Kal_Title&,Kal_TitleText&,Background&,Frage&,butmann&,butfrau&,frageexit%
Declare lvu%,neux%
Def GSC(1) !USER32,GetSysColor
Def GetWindowRect(2) !USER32, GetWindowRect
WindowStyle 16
Frage&=CreateDialog(%hwnd,Frage,((%maxX/2)-127),((%maxY/2)-45),255,91)
CreateText(Frage&,Sind Sie männlich oder weiblich?,5,5,242,20)
butmann&=CreateButton(Frage&,männlich,5,30,92,25)
butfrau&=CreateButton(Frage&,weiblich,150,30,92,25)

WhileNot frageexit%

    GetMessage

    if GetFocus(butmann&)

        st%=1  Style 1
        frageexit%=1

    elseif GetFocus(butfrau&)

        st%=2  Style 2
        frageexit%=1

    endif

Wend

DestroyWindow(Frage&)
##### EINSTELLUNGEN #####
wochenende%=1        Mit Wochenende=1 | Kein Wochenende=0
Case st%=1:Background&=rgb(209,246,255)  Fensterhintergrund Style 1
Case st%=2:Background&=rgb(234,207,239)  Fensterhintergrund Style 2
##### Grafiken & Style #####

Proc Style

    Parameters getstyle%
    Case getstyle%=1:styleset$=\set1  Style 1
    Case getstyle%=2:styleset$=\set2  Style 2
    spalte$=$ProgDir+styleset$+\Spalte.bmp
    zeile1$=$ProgDir+styleset$+\zeile1.bmp
    zeile2$=$ProgDir+styleset$+\zeile2.bmp
    ende$=$ProgDir+styleset$+\endezeile.bmp
    Farben für den Kalender

    if getstyle%=1

        Kal_Innen&=rgb(255,255,210)     Innenfarbe
        Kal_NoAct&=rgb(125,125,125)     Farbe für nicht-aktuellen Monat
        Kal_Text&=rgb(0,0,0)            Textfarbe
        Kal_Title&=rgb(71,118,179)      Titelhintergrund
        Kal_TitleText&=rgb(255,255,255) Titeltext

    elseif getstyle%=2

        Kal_Innen&=rgb(255,255,210)
        Kal_NoAct&=rgb(125,125,125)
        Kal_Text&=rgb(0,0,0)
        Kal_Title&=rgb(154,17,108)
        Kal_TitleText&=rgb(255,255,255)

    endif

EndProc

Proc BMPXY

    ##### Automatische Grafikeinstellungen #####
    ##### Lade Garfiken und ermittel die Größe #####
    MLoadBmp zeile1$
    ZeileY%=%BmpY         Höhe einer Zeile (Nicht Anfangszeile)
    MLoadBmp spalte$
    BreiteAnfang%=%BmpX   Breite der ersten Grafik
    MLoadBmp ende$
    BreiteEnde%=%BmpX      Breite der letzten Grafik

EndProc

##### ListView.dll einbinden
lvdll&=usedll($ProgDir+Listview.dll)
 $I ListView_Funktionen.inc
Register(123456) Oder so ähnlich ;-)
lvfont&=Create(Font,Verdana,14,0,1,0,0)
##### ListView #####

Proc Liste

    Declare wechsel%,Uhrzeit%,Uhrzeit$,text$
    liste&=CreateListview(%hwnd,%hinstance,0,-1,-1,$400)
    EnableEdits(liste&,1)
    text$=011111
    SelectColumnEdits(liste&,addr(text$))
    InsertColumn liste&,,54,0
    InsertColumn liste&,Montag,150,0
    InsertColumn liste&,Dienstag,150,0
    InsertColumn liste&,Mittwoch,150,0
    InsertColumn liste&,Donnerstag,150,0
    InsertColumn liste&,Freitag,150,0
    Case Wochenende%=1:InsertColumn liste&,Samstag,150,0
    Case Wochenende%=1:InsertColumn liste&,Sonntag,150,0
    freelist&=SetLineHeight(liste&,ZeileY%-1)
    DestroyImageList(freelist&)
    wechsel%=2
    Uhrzeit%=0

    WhileLoop 48

        if wechsel%=2

            if Uhrzeit%<10

                Uhrzeit$=0+Str$(Uhrzeit%)+:00

            else

                Uhrzeit$=Str$(Uhrzeit%)+:00

            endif

            SetItem liste&,Uhrzeit$,
            wechsel%=1

        else

            SetItem liste&,,
            Inc wechsel%
            Inc Uhrzeit%

        endif

    EndWhile

    SetFont liste&,lvfont&
    ShowListview(liste&,10,10,width(%hwnd)-220,height(%hwnd)-50)
    InitMessages(%hwnd)
    AnzahlSpalten%=GetColumns(liste&)-1    Anzahl der normalen Zeilen ohne die Anfangszeile

EndProc

##### Erstellt die Hintergrundgrafik für das ListView mit Profan-Mitteln #####

Proc makegrf

    Parameters Lang%
    Declare zf&,StartZeichnenX%,StartZeichnenY%,multi%
    StartZeichnenX%=0
    StartZeichnenY%=0
    multi%=1
    windowStyle 80
    zf&=Create(Window,%hwnd,,0,0,%maxX,ZeileY%*3)
    #### Zeichnen
    StartPaint zf&
    LoadBmp spalte$,StartZeichnenX%,StartZeichnenY%;0
    LoadSizedBmp zeile1$,BreiteAnfang%+StartZeichnenX%,StartZeichnenY%-Lang%,ZeileY%;0
    LoadSizedBmp zeile2$,BreiteAnfang%+StartZeichnenX%,StartZeichnenY%+ZeileY%-Lang%,ZeileY%;0

    WhileNot multi%=AnzahlSpalten%

        loadbmp ende$,Lang%*multi%+BreiteAnfang%,StartZeichnenY%;0
        LoadSizedBmp zeile1$,Lang%*multi%+BreiteAnfang%+BreiteEnde%,StartZeichnenY%-Lang%,ZeileY%;0
        LoadSizedBmp zeile2$,Lang%*multi%+BreiteAnfang%+BreiteEnde%,StartZeichnenY%+ZeileY%-Lang%,ZeileY%;0
        inc multi%

    Wend

    loadbmp ende$,Lang%*multi%+BreiteAnfang%,StartZeichnenY%;0
    SaveBmp $TempDir+LVBACK.BMP,StartZeichnenX%,StartZeichnenY%-Lang%*multi%+BreiteAnfang%+25,ZeileY%*2  +20für evtl. Scrollbar
    endPaint
    DestroyWindow(zf&)
    text$=$TempDir+lvback.bmp
    SetBackImage(liste&,addr(text$),1)

endproc

Proc LVGroesse

    Declare LangLV%,Spaltenbreite%,idx%
    LangLV%=width(liste&)-5
    Spaltenbreite%=(LangLV%-BreiteAnfang%)/AnzahlSpalten%
    idx%=1

    WhileNot idx%=AnzahlSpalten%+1

        SetColumnWidth(liste&,idx%,Spaltenbreite%)
        Inc idx%

    Wend

    makegrf Spaltenbreite%

EndProc

Proc Kal

    Kalender&=Control(SysMonthCal32,,$54000004,width(liste&)+40,10,180,height(liste&),%hwnd,2000,%hinstance)
    SetFont Kalender&,lvfont&
    SendMessage(Kalender&,$100A,0,Background&)Hintergrund
    SendMessage(Kalender&,$100A,4,Kal_Innen&)
    SendMessage(Kalender&,$100A,5,Kal_NoAct&)
    SendMessage(Kalender&,$100A,1,Kal_Text&)
    SendMessage(Kalender&,$100A,2,Kal_Title&)
    SendMessage(Kalender&,$100A,3,Kal_TitleText&)

Endproc

Proc SetOptimalSize

    Parameters hmc&
    Declare h&,w&,mrect#,am%,hoch%
    Dim mrect#,16
    SendMessage(hmc&,$1009,0,mrect#)
    Let w&=Sub(Long(mrect#,8),Long(mrect#,0))
    Let h&=Sub(Long(mrect#,12),Long(mrect#,4))
    am%=height(%hwnd)/h&
    hoch%=(am%*h&)
    neux%=((Width(%hwnd)-10)-w&)
    SetWindowPos Kalender&=neux%,10-w&,hoch%;0
    Dispose mrect#

EndProc

##### Update ListView #####
lvu%=1

Proc Update

    Case Width(%hwnd)<790:SetWindowPos %hwnd=%WinLeft,%WinTop-800,%WinBottom-%WinTop;0
    Case Height(%hwnd)<570:SetWindowPos %hwnd=%WinLeft,%WinTop-%WinRight-%WinLeft,600;0
    MerkeX%=Width(%hwnd)
    MerkeY%=Height(%hwnd)
    SetOptimalSize Kalender&
    SetWindowPos liste&=10,10-neux%-20,height(%hwnd)-30;0 ***
    LVGroesse
    MerkeX%=Width(%hwnd)
    MerkeY%=Height(%hwnd)
    WindowTitle LV-Test - Anzahl LV-Updates:+Str$(lvu%)
    Inc lvu%

EndProc

*** = Da wartet jemand sehnsüchtig auf seine XPrf10
um die Thread.pcu von iF zu benutzen :-)
##### Hauptfenster #####

Proc Hauptfenster

    SetTrueColor 1
    WindowStyle $003F
    WindowTitle LV Test
    Window ((%maxX/2)-512),((%maxY/2)-384)-1024,768
    CLS Background&
    UseFont Verdana,13,0,1,0,0
    SetDialogFont 1

EndProc

##### Hauptprogramm #####
Hauptfenster
Case st%=1:Style 1
Case st%=2:Style 2
BMPXY
Liste
LVGroesse
Kal
Update
##### Hauptprogrammschleife #####
MerkeX%=Width(%hwnd)
MerkeY%=Height(%hwnd)

WhileNot exit%

    GetMessage
    Case %Umessage=16:exit%=1
    CaseNot MerkeX%=Width(%hwnd):Update
    CaseNot MerkeY%=Height(%hwnd):Update
    Case Width(%hwnd)<790:Update
    Case Height(%hwnd)<570:Update

Wend

DestroyWindow(liste&)
Clo
ages(%hwnd) $I ListView_Dispose.inc freedll lvdll&

Salut
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
26.12.2007  
 




Dirk
Kuntzmann
Salut,
vielen Dank pour eure Mühe. cela kurze Beispiel de Rolf ist eigentlich alles, quoi je z. Z. gesucht habe. j'ai mir zwar mittlerweile aussi wieder Prfellow installiert, mais Rolf kleines Programme mach oui eigentlich cela Gleiche.
peut-être wäre cela oui quelque chose pour une neue Profan-Version, comme Erweiterung qui Date$-Funktion et wohin ensuite cela angeklickte date avec gettext$ juste ausgelesen volonté peux.

Salut Dirk
 
26.12.2007  
 




Michael
Wodrich
Ab XProfan 8.0 ist cette Wunsch erfüllt:

(cela Beispiel aus qui Hilfedatei)
KompilierenMarqueSéparation
Declare hWin&, hButton&, Ende&, hDate&
hWin& = @Create(Dialog, %hWnd, Test, 100, 100, 200, 200)
hButton& = @Create(Button, hWin&, Ende, 10, 10, 180, 24)
hDate& = @Create(DateEdit, hWin&, , 10, 50, 100, 24)
Clear Ende&

WhileNot Ende&

    WaitInput

    If @GetFocus(hButton&)

        Ende& = 1

    EndIf

EndWhile

@MessageBox(@GetText$(hDate&), Datum, 0)
Fin

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
26.12.2007  
 




Dirk
Kuntzmann
allô Michael,
c'est oui cela normale dateedit, wohin qui le calendrier seulement aufklappt, si qui Button gedrückt wird. qui Wunsch ist oui, dass qui le calendrier toujours angezeigt wird et ausgelesen volonté peux, sans dass seulement un Button betätigt volonté muss. Siehe kurzes Beispiel de Rolf.

Salut Dirk
 
27.12.2007  
 




Michael
Wodrich
oui, là hab je wohl geschlafen.... (steht entier deutlich dans Deinem ersten Posting).

là devrait Roland ensuite un Set(DateEdit, 0|1 ) construire. et chez qui Gelegenheit aussi qui SetDate- et SetTime-Funktionen nachrüsten.
Bisher allez cela oui aussi seulement avec einem Trick.

ah oui, et chez qui Gelegenheit ensuite aussi Set TimeFormat et SetDateFormat pour qui Formatstrings avec einbauen.

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
27.12.2007  
 




RGH
Michael Wodrich
et chez qui Gelegenheit aussi qui SetDate- et SetTime-Funktionen nachrüsten.


Ab qui prochain Version ist Befehl SetText entsprechend erweitert, so dass pour qui beiden Controls TimeEdit et DateEdit avec SetText qui Zeit beziehungsweise cela date eingestellt volonté peux.

Salut
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
27.12.2007  
 



répondre


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

3.682 Views

Untitledvor 0 min.
Walter12.06.2021
Sebald Grandjean16.02.2018
Andre Rohland11.02.2018
Ernst07.10.2016
plus...

Themeninformationen



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