Français
Source/ Codesnippets

Animierte Buttons Cursor Hunde laisser courir Zuwei

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Animierte Cursor laufen lassen (Hunde), oder Buttons zuweisen
Lauffähig ab Profan-Version 5.0
#############################################################
Animierte Cursor laufen lassen
oder Buttons zuweisen
oder Icons aus Dlls oder eigener Instanz laden und zuweisen
für Profan² 32-bit
#############################################################
Andreas Miethe * Bielefeld * August 1998
Quellcode ist frei nutzbar
#############################################################
Beschreibung für DrawIconEx
***************************
DrawExIcon (Device-Context-Handle{HDC},X-Position,Y-Position,ICON-Handle,Icon-Breite,Icon-Hoehe,
Icon-Index{Bild-Nummer bei Animation},Hintergrundfarbe,Flags)
bei animierten Cursorn sollte die Anzahl der Bilder und die Verzoegerung bekannt sein !
Flags :
#######
DI_MASK = 1
DI_IMAGE = 2
DI_NORMAL = 3
DI_COMPAT = 4
DI_DEFAULTSIZE = 8
#################################################################################################
Def ADrawIconEx(9) ! User32,DrawIconEx
Def LoadIcon(2) !USER32,LoadIconA
Def APILoadCursorFromFile(1) ! USER32,LoadCursorFromFileA
Def ASleep(1) !Kernel32,Sleep
Def APICreateSolidBrush(1) ! GDI32,CreateSolidBrush
Def APIGetDC(1) ! USER32,GetDC,%,%
DEF @AGetSysColor(1) !USER32,GetSysColor
DEF AExtractIcon(3) !SHELL32,ExtractIconA
Declare hdll&,DllIcon&,InstIcon&,sysicon&,Ico&,B1&,st#,Datei#
Declare Button%,BDC&,IDC&
Declare yy%,x%,x1%,ende%,y%,b&,farbe&,g%
Declare hcur#,hc&,hc1&
Settruecolor 1

Proc Lade_Hund

    Den  Hund  laden
    Parameters name$
    Dim hcur#,len (name$) + 1
    String hcur#,0=name$
    Let hc&=APILoadCursorFromFile(hcur#)
    Dispose hcur#

Endproc

Proc Lade_Globus

    Den  Globus  laden
    Parameters name$
    Dim hcur#,len(name$) + 1
    String hcur#,0=name$
    Let hc1&=APILoadCursorFromFile(hcur#)
    Dispose hcur#

Endproc

Proc Male_Icon_1

    Ein Icon aus der eigenen Instanz
    ################################
    Dim st#,50
    String st#,0 = A
    Let InstIcon&=LoadIcon(%hinstance,st#) Icon A aus HINSTANCE
    ADrawIconEx(%HDC,100,100,InstIcon&,32,32,0,b&,3)  In das Fenster
    Dispose st#

Endproc

Proc Male_Icon_2

    Ein Icon aus einer DLL
    ######################
    Dim Datei#,120
    String Datei#,0=Moricons.dll
    Let dllIcon& = AExtractIcon(%Hinstance,Datei#,49)
    ADrawIconEx(%HDC,100,200,dllIcon&,64,64,0,b&,3) ein bißchen groeßer - In das Fenster
    Dispose Datei#

Endproc

Ein System-Icon
###############
Let SysIcon& = LoadIcon(0,32513)  SYSTEMICON - {von 32512 - 32517}

Proc Male_ani

    Das Systemicon
    ADrawIconEx(BDC&,4,4,SysIcon&,16,16,x1%,b&,3)  Auf den Button
    Der erste Globus
    ADrawIconEx(BDC&,76,4,Hc1&,16,16,x1%,b&,3)  Auf den Button
    Der zweite Globus
    ADrawIconEx(IDC&,3,3,Hc1&,32,32,x1%,b1&,3)  In ein Control
    Der erste Hund
    ADrawIconEx(%hdc,y%,yy%,hc&,g%,g%,x%,b&,3)
    Rectangle add(y%,g%),yy%-add(y%,add(g%,g%)),add(yy%,g%)
    Der zweite Hund
    ADrawIconEx(%hdc,sub(y%,64),yy%,hc&,g%,g%,x%,b&,3)
    Rectangle add(sub(y%,64),g%),yy%-add(sub(y%,64),add(g%,g%)),add(yy%,g%)
    Der dritte Hund
    ADrawIconEx(%hdc,sub(y%,128),yy%,hc&,g%,g%,x%,b&,3)
    Rectangle add(sub(y%,128),g%),yy%-add(sub(y%,128),add(g%,g%)),add(yy%,g%)

Endproc

Proc Fensteraufbau

    Let Button% = @CreateButton(%hwnd,Ende,10,10,100,24)
    Let BDC& = APIGetDC(Button%)              Device-Context-Handle für den Button
    Let ico& = @Control(Static,,$50001004,580,0,40,40,%hwnd,1000,%Hinstance)
    Let IDC& = APIGetDC(Ico&)                Device-Context-Handle für das Control
    Let B1&=rgb(0,0,0)                       Hintergrundfarbe für Control

Endproc

Hauptprogramm
#############
Lade_Hund Dog.ani                      Animierter Cursor Nr.1
Lade_Globus Globe2.ani                 Animierter Cursor Nr.2
Let Farbe& = @AGetSysColor(15)           Buttonface - Hintergrundfarbe für animierten Cursor
window add(%maxx,1),0-640,480            erstmal neben den Bildschirm
UseFont Arial,15,0,0,0,0
SetDialogFont 1
CLS Farbe&
Let b& = APICreateSolidBrush(Farbe&)     Hier wird die Hintergrundfarbe gesetzt
für die transparente Darstellung
UseBrush 1,Farbe&  wird benötigt für Rechteck
UsePen 0,0,Farbe&  wird benötigt für Rechteck
Wird das Rechteck nicht gezeichnet, zieht ein animierter
Cusor Streifen - probier es aus !
Voreinstellungen für den Hund
#############################
Let y%=830      Anfangsposition
Let g%=32       Groesse des Curors
Let yy%=300     Y-Position
Fensteraufbau
setwindowpos %hwnd = 0,0-640,480         jetzt auf den Bilschirm
Male_Icon_1
Male_Icon_2
Male_ani

whilenot ende%

    case equ(x%,6):let x%=0

    if lt (y%,sub(g%,mul(g%,3)))

        let y%=830

    endif

    Case Getfocus(Button%):let ende%=1
    case equ(x1%,16):let x1%=0
    Male_ani
    inc x%
    inc x1%
    sub y%,10
    ASleep(60n class=s2>)

Wend

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

4.315 Views

Untitledvor 0 min.
Andre Rohland04.02.2018
Joerg09.06.2016
GDL31.12.2014
Klaus Ernst09.02.2011

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