Bitamps in Varibale laden aber wie wieder am Bildschirm ausgeben
-
Hallo ich habe ein Programm und zwar werden bei mir Bittmaps in Variablen geladen.
Und nun bin ich mir nicht sicher wie diese Ausgegeben werden und deshalb wollte ich fragen ob dies der Programmteil dafür ist. DA ich nicht so viel Ahnung mit Zeigern habe.
extern GLOBALHANDLE InitModulAuswahlSpeicher(ProgrammInformation *info) { int i,j; HGLOBAL SpeicherHandle; BlockSpeicherFeld *Zeiger; // Werte für die Bildlaufleiste auf Null setzen (*info).AuswahlLeiste.Vertdif = 0; (*info).AuswahlLeiste.VertMax = 0; (*info).AuswahlLeiste.VertPos = 0; // Speicher reservieren //AuswahlZeiger = (BlockSpeicherFeld *) malloc (AnzahlElemente * sizeof(BlockSpeicherFeld)); SpeicherHandle = GlobalAlloc(GHND,((*info).AnzahlElemente + 1) * sizeof(BlockSpeicherFeld)); if(!SpeicherHandle) return FALSE; Zeiger = (BlockSpeicherFeld *) GlobalLock(SpeicherHandle); // Block Bezeichnungen char PinBez [] [4] ={ " ", "E_ ", "A_ ", "A_ ", "M_ ", "M_ ", "M_ ", "A_ ", "AND", "OR ", "XOR", "T_ ", "1" , "POR", "EA_", "EA_", "M_" }; BlockTypen Modultypen[] = {Leer, Eingang, Ausgang, R_Ausgang, Merker_Ausgang, Merker_Eingang, Register_Merker, Register_Ausgang, Und, Oder, XOR, Timer, High, POR, MAKRO, EA_Eingang, EA_Ausgang, }; // Die Standardwerte (*Zeiger).aktiviert = FALSE; (*Zeiger).xPosition = 1; (*Zeiger).yPosition = 0; (*Zeiger).AnzEingaenge = 0; (*Zeiger).Bausteinnummer = 0; (*Zeiger).TextDarstellen = FALSE; (*Zeiger).vorhanden = TRUE; // Zum Init werden alle Module generiert. Auch die EA - Elemente for(i=0;i <= 8 ;i++) { (*Zeiger).NegEingang[i] = FALSE; (*Zeiger).NegAusgang[i] = FALSE; }; strcpy((*Zeiger).Pin,TEXT(" ")); //Alle Elemente auffüllen und die einzelnen Fenster für die Modulauswahl erstellen //Diese steht dann an der erste Stelle for(i=1;i <= (*info).AnzahlElemente;i++) { (*(Zeiger + i)) = *Zeiger; (*(Zeiger + i)).Bausteinnummer = i; (*(Zeiger + i)).Bausteintyp = Modultypen[i]; strcpy((*(Zeiger + i)).Pin, PinBez[i]); for (j = 0; j < 8; j++) { (*(Zeiger + i)).NegAusgang[j] = FALSE; (*(Zeiger + i)).NegEingang[j] = FALSE; }; }; (*(Zeiger + 1)).AnzEingaenge = 0; (*(Zeiger + 2)).AnzEingaenge = 1; (*(Zeiger + 3)).AnzEingaenge = 1; (*(Zeiger + 4)).AnzEingaenge = 0; (*(Zeiger + 5)).AnzEingaenge = 0; (*(Zeiger + 6)).AnzEingaenge = 3; (*(Zeiger + 7)).AnzEingaenge = 3; (*(Zeiger + 8)).AnzEingaenge = 2; (*(Zeiger + 9)).AnzEingaenge = 2; (*(Zeiger + 10)).AnzEingaenge = 2; (*(Zeiger + 11)).AnzEingaenge = 1; (*(Zeiger + 12)).AnzEingaenge = 0; (*(Zeiger + 13)).AnzEingaenge = 0; (*(Zeiger + 14)).AnzEingaenge = 0; (*(Zeiger + 15)).AnzEingaenge = 2; (*(Zeiger + 16)).AnzEingaenge = 2; (*Zeiger).Bausteinnummer = (*info).AnzahlElemente; if((*info).SPS_Typ == EX16) { (*(Zeiger + 14)).vorhanden = FALSE; (*(Zeiger + 15)).vorhanden = FALSE; }; GlobalUnlock(SpeicherHandle); return SpeicherHandle; }
-
Dies Ding hat nichts mit Bitmaps zu tun. Ob es mit Deiner graphioschen Ausgabe zusammenhängt kann ich Dir nicht sagen.
-
-
mercer schrieb:
Hi,
schau mal hier:http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel4.htm
Gruß
ich danke dir. meine bilder sind auch in der resource gespeichert. ich werde es mir durchlesen.