Hilfe zu Bitmap in Modulauswahlfenster integrieren



  • Hallo Ich bin am verzweifeln habe ein projekt wo ich in der Modulauswahleiste ein Bitmap einfügen möchte welches ich dann in das Bearbeitungsfenster zihen kann Siehe Foto.

    Das Bitmap heist Makro (siehe Bild) was ich schon erstellt habe http://www.uploady.de/?img=makro-rsourceec1aae9f.jpg

    Und es sollte in dieses MOdul Auswahlfenster (siehe Bild) http://www.uploady.de/?img=hauptfenster_makro2714edb5.jpg

    und hier der Quellcode der Allgemeinen Deklaration im Klassen-Fenster

    Bei bedarf kann ich auch die anderen Quellcode Dateien posten (siehe Bild) http://www.uploady.de/?img=quell-dateien07ce5b40.jpg

    const RasterMass = 16;
    
    // Die Definition der Verschiedenen Sprachversionen
    typedef enum { Deutsch, Englisch } Sprache;
    
    struct HANDLEPUFFER
    {
    	HWND Arbeitsfenster,Toolbar,Modulfenster,Zeichenblatt,Zeichnenfenster,Hauptfenster;
    	HMENU	Menue;
    };
    
    typedef	enum {	Eingang, Ausgang, Merker_Ausgang, Merker_Eingang, Register_Merker,
    				Register_Ausgang, Und, Oder, XOR, Timer, High, R_Ausgang, EA_Eingang, 
    				EA_Ausgang, POR, Leer, MAKRO } BlockTypen;
    
    struct BlockSpeicherFeld 
    {
    	int			Bausteinnummer	;
    	HWND		BausteinHandle;
    	int			xPosition		;
    	int 		yPosition		;
    	BlockTypen	Bausteintyp		;
    	bool		aktiviert;
    	int			AnzEingaenge;
    	char		Bezeichnung[10];
    	char		Pin[5];
    	bool		NegEingang[8];
    	bool		NegAusgang[8];
    	bool		TextDarstellen;
    	bool		vorhanden;	// Dieser Eintrag gilt nur für die EA - Elemente
      unsigned int uiAnzZeilen; // Wird zur Fehlerbehandlung benoetigt
      bool         bFehlerhaft; // Wird zur Fehlerbehandlung benoetigt
    } ;
    
    typedef enum { anordnen,zeichnen,verschieben } ZeichnenOp;
    
    struct BildLeisteninfo
    {
    	int	VertPos;
    	int HorzPos;
    	int VertMax;
    	int HorzMax;
    	int Vertdif;
    	int Horzdif;
    };
    
    typedef enum { neu, erweitert_an, erweitert_aus,alles_aus, 
    				Block, Verdrahten, Negieren, 
    				del_an, del_aus, delP_an, delP_aus,
    				EA_an, EA_aus} Toolbaraktiv;
    
    //typedef enum { FehlerBeimHandle, Fehler_Speicher, NichtInListe, MaxModule } Meldungen;
    
    struct SchalterLogik
    {
    	bool	init;
    	bool	erstellt;
    	bool	BlockModus;
    	bool	VerdrahtungsModus;
    	bool	NegierModus;
    	bool	bewegen;
    	bool	Auswahlerstellen;
    };
    
    typedef enum { EX16, SPEEDY, SPEEDYEA } TYPE;
    typedef	enum { BlockMode,VerdrahtungsMode,NegierMode } MODUS;
    
    struct Schriften
    {
    	HFONT Schrift1;
    	HFONT Schrift2;
      HFONT Schrift;
    };
    struct BilderStruct
    {
    	HBITMAP Leer;
    	HBITMAP	Eingang;
    	HBITMAP Ausgang;
    	HBITMAP R_Ausgang;
    	HBITMAP Register_Ausgang;
    	HBITMAP Register_Merker;
    	HBITMAP Merker_Eingang;
    	HBITMAP Merker_Ausgang;
    	HBITMAP Timer;
    	HBITMAP Verknuepft;
    	HBITMAP HIGH;
    	HBITMAP Negiert;
    	HBITMAP EA_Eingang;
    	HBITMAP EA_Ausgang;
    	HBITMAP POR;
    	HBITMAP MAKRO;
    };
    
    struct Elemente
    {
    	int	Eingaenge;
    	int Ausgaenge;
    	int Merker;
    	int	Timer;
    	int EA_Ports;
    };
    
    struct Blattgroesse
    {
    	int horiz;
    	int verti;
    };
    
    struct DateiInfo
    {
    	bool	gespeichert;
    	bool	NameVorhanden;	
    	TCHAR	FileName[MAX_PATH];
    	TCHAR	TextFile[MAX_PATH];
    	TCHAR	ProgPfad [MAX_PATH];
    	TCHAR	HilfeFile[MAX_PATH];
    };
    struct SpeicherLaenge
    {
    	int BlockSpeicher;
    	int VerdrahtungsSpeicher;
    };
    
    struct ProgrammInformation
    {
    	HANDLEPUFFER	handles;
    	float			Zoom;
    	TYPE			SPS_Typ;
    	bool			EA_aktiviert;
    	SchalterLogik	SchaltLogik;
    	BildLeisteninfo	AuswahlLeiste;
    	BildLeisteninfo	Zeichenblatt;
    	MODUS			Modus;
    	HINSTANCE		hInstance;
    	int				ModulBreite;
    	int				Raster;
    	Schriften		Schrift;
    	BilderStruct	Bilder;
    	Elemente		ElementAnzahl;
    	Blattgroesse	size;
    	DateiInfo		Datei;
    	int				AnzahlElemente;
    	SpeicherLaenge	Speichergroesse;
    	Sprache			SprachVersion;
    
    };
    
    struct EINGAENGE
    {
    	char	Pin[5];
    	char	Bezeichnung[10];
    	int		Anzahl;
    	bool	TextDarstellen;
    
    };
    
    struct AUSGAENGE
    {
    	char	Pin[5];
    	char	Bezeichnung[10];
    	int		Anzahl;
    	bool	TextDarstellen;
    	bool	Belegt;
    };
    
    struct PINS
    {
    	HGLOBAL	Merker;
    	HGLOBAL	Eingaenge;
    	HGLOBAL	Ausgaenge;
    	HGLOBAL	Timer;
    	HGLOBAL EA_Ports;
    };
    
    struct KOORDINATE
    {
    	int	x;
    	int y;
    };
    
    struct VPUNKT
    {
    	int	LinieNummer;	// spreichern, an welch Linie die Verknüpfung geht
    	int PunktNummer;	// speicher, mit welchem Punkt die Linie verknüpft ist !
    };
    struct VERDRAHTUNG
    {
    	int			LinieNr;
    	int			AnzahlPunkte;
    	HGLOBAL		PunktHandle;
    	char		vonBlock[7];
    	char		bisBlock[7];
    	bool		PunktVerknuepft;
    	VPUNKT		VerknuepfterPunkt;
    	bool		aktiviert;
    };
    
    struct VERDRAHTENSCHALTEN
    {
    	VERDRAHTUNG	aktuelleLinie;
    	VERDRAHTUNG zusaetzlicheLinie;
    	bool		fertig;
    	bool		Ausgang;
    	bool		Eingang;
    	bool		aktiv;
    	bool		neu;
    	KOORDINATE	MausTreffer;
    	KOORDINATE	NeuerPunkt;
    	KOORDINATE	AlterPunkt;	
    	int			aktuellerPunkt;
    	bool		EckPunktgefangen;
    	int			GefundenerAbschnitt;
    };
    
    typedef enum {speichern, loeschen, sortieren, holen} SpeicherOperation;
    
    typedef enum {Auswahl,Gespeichert,Bewegt}WListe;
    
    struct AnschlussArray
    {
    	HGLOBAL Eingaenge;
    	int		AnzEing;
    	HGLOBAL Ausgaenge;
    	int		AnzAusg;
    };
    
    // Deklaration der verschiedenen Fehlermeldungen
    typedef enum {	ok						,
    				KeinSpeicherBeimStrukt	,
    				offeneVerbindung		,
    				Rueckkopplung			,
    				KeinSpeicherBeimLaden	,
    				FalscheDatei			,
    				DiskVoll				,
    				AbbruchDurchBenutzer	,
    				DiskVollBeimStrukt		,
    				NichtErlaubtesZeichen	,
    				ueberlauf				,
    				KeinHandle				,
    				KeinSpeicher			,
    				MaximModule				,
    				FehlerImSpeicher		,
    				FileNichtGefunden		,
    				FileFehler				,
    				Wechselunmoeglich		,
    				BzDDoppelt				,
    				// Die Fehler beim Verdrahten
    				TimerSchaltFehler		,
    				ErweitertSchaltFehler	,
    				// Timer Fehler
    				EX16TimerFehler			,
    				NichtOk					
    			} FehlerCode;
    

    ich hoffe ihr könnt mir helfen



  • kann mir einer weiterhelfen oder habt ihr noch fragen dann schribt mir bitte



  • Gegenfrage: Wo hast du denn die anderen Bitmaps (z.B. den OR-Baustein) in deine Anwendung integriert? Ich kann zwar mit der Sammlung an Typdefinitionen nicht besonders viel anfangen, aber höchstwahrscheinlich wird jedes deiner Modul-Bitmaps identisch behandelt.



  • CStoll schrieb:

    Gegenfrage: Wo hast du denn die anderen Bitmaps (z.B. den OR-Baustein) in deine Anwendung integriert? Ich kann zwar mit der Sammlung an Typdefinitionen nicht besonders viel anfangen, aber höchstwahrscheinlich wird jedes deiner Modul-Bitmaps identisch behandelt.

    ich glaube ich habs ich melde mich dann nochmal danke hast mir etwas geholfen warum bin ich denn nicht vorher draufgekommen


Anmelden zum Antworten