Zum Inhalt springen

ffGebaeck

Mitglieder
  • Gesamte Inhalte

    37
  • Benutzer seit

  • Letzter Besuch

Beiträge von ffGebaeck

  1. Servs!

    Folgendes Problem, ich will Icons aus einer .dll oder .exe Datei auslesen, es können ja mehrere icos in einer .dll drin sein.

    (VC++6.0,MFC)

    Eine .ico File les ich folgendermassen aus:

    
    HICON hIcon = (HICON)LoadImage(NULL, "D:\\icon.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
    
    
    ne .exe oder eine .dll versuch ich folgendermassen auszulesen:
    
    HMODULE hModule = GetModuleHandle("D:\\Icon.exe");
    
    HRSRC hrSrc = FindResource(hModule, "128", RT_ICON);
    
    HICON hIcon = LoadIcon(hModule, "128");
    
    

    Doch irgendwie funktioniert des net, in der MSDN steht zu LoadIcon, dass man die ID des Icons mitgeben muss, des is doch aber quatsch, in der Exe gibts keine ID's mehr oder irr ich mich da? Naja, auf alle Fälle hat das Icon die ID 128 in der 'Icon.exe" aus der ich jetzt was auslesen will, nunja, er liest aber net!

    Hat einer eine Ahnung?

    JO ;)

  2. Mir geht´s auch so. Meine Mutter steht z. Zt. permanent auf der Matte weil ihr Brenner nicht so geht wie er soll. Und wenn ich mal keine Ahnung hab was das Prob sein könnte heisst es immer "Aber du lernst das doch!". Toll...

    Oh mein Gott wie ich das hasse!

    Letztens war ich 4 Stunden an nem P75 gesessen

    mit ner ISA Fritz ISDN Card ... und hab versucht, nach

    Installation von Win98 diese zum laufen zu bewegen...

    ...irgendwann hab ich aufgegeben,

    dann kam der Spruch den ich schon soooo oft ghört hab:

    "Warum kannst du des net? Du lernst des doch!"

    Aaaaaaaaaaaah, verdammt, kann ein Automechaniker Windschutzscheiben giessen? Der kann auch net alles!

    Lauter unwissende ;)

    JO

  3. Okokok!

    Meine Fehlerbeschreibung war a bissle mager,

    dafür kommt etz gleich die Lösung dafür,

    also der Konstruktor war falsch,

    folgendermassen muss der Konstruktor aussehn:

    
    CMyDialog::CMyDialog(UINT nID, CWnd* pParent) : CDialog(nID, pParent)
    
    {
    
    }
    
    

    dann klappts auch mit dem Nachbarn :)

    Nun steht meiner grossartigen Klasse

    CDragDialog ja nix mehr im wege.........

    .... oder? ;)

    JO

  4. Servus!

    Also, folgende Problematik.

    Ich hab in einem Dialog Drag and Drop implementiert,

    schön und hübsch,

    man kann den Dialog anfassen wo man will und ihn mit der Maus umherschieben.

    Nun will ich eine Klasse schreiben,im moment heist sie noch

    CMyDialog

    in der ich alles einbau, die ganzen Messages abfang die ich brauch, usw.

    am Ende soll das dann so funktionieren, dass wenn ich in einem anderen Dialog das Drag&Drop brauch, dass ich meinen anderen Dialog nicht von CDialog sondern von CMyDialog ableite...

    ...nun sobald ich die DoModal() aufruf, knallt es herzlich!

    Hat einer eine Ahnung? Hier der Quelltext:

    Der Header:

    #if !defined(AFX_MYDLG_H__B90982E8_B955_4733_9D60_18EC9067E669__INCLUDED_)
    
    #define AFX_MYDLG_H__B90982E8_B955_4733_9D60_18EC9067E669__INCLUDED_
    
    
    #include "stdafx.h"
    
    
    class CMyDialog : public CDialog
    
    {
    
    public:
    
    	CMyDialog(UINT, CWnd*);
    
    	virtual void DoDataExchange(CDataExchange * pDX);
    
    	virtual int DoModal();
    
    protected:
    
    	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
    
    	DECLARE_MESSAGE_MAP()
    
    };
    
    
    #endif
    und hier die CPP
     
    
    #include "MyDialog.h"
    
    
    void CMyDialog::OnLButtonDown(UINT nFlags, CPoint point) 
    
    {
    
    	MessageBox("test");
    
    	CDialog::OnLButtonDown(nFlags, point);
    
    }
    
    
    CMyDialog::CMyDialog(UINT nID, CWnd* pWnd)
    
    {
    
    	CDialog::CDialog(nID, pWnd);
    
    }
    
    
    void CMyDialog:: DoDataExchange(CDataExchange *pDX)
    
    {
    
    	CDialog:: DoDataExchange(pDX);
    
    }
    
    
    int CMyDialog:: DoModal()
    
    {
    
    	return CDialog:: DoModal();
    
    }
    
    
    BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
    
    	//{{AFX_MSG_MAP
    
    	ON_WM_LBUTTONDOWN()
    
    	//}}AFX_MSG_MAP
    
    END_MESSAGE_MAP()

    Das ist etz nur zum testen, das Drag&Drop is noch net drin,

    nur eine messagebox sobald der benutzer auf den Dialog klickt...

    ...hat jemand eine Ahnung?

    JO

  5. Wer kennt Radio PSR?

    Sucht mal im Morpheus oder WinMX

    nach "radio psr junk trashcarter" oder so ähnlich,

    da ruft ein spinner bei einer Werbeagentur an

    und laber die auf denglisch zu....

    ...soooooooooo geil!

    JO :D:D:D:D:D:D:D

  6. aaaaaaaaaaaaaaaaai!!!!!!!!!!!!!!

    ich bin grad heimkommen,

    hab ca. 3 promill, ;) uiuiui fasching is lustig!

    hahahaahhhahaha und hab gestgestellt,

    das ich in diesem zustand meinen compi auch noch

    ärgern kann!!!!!!!!!!!!1

    hahahaha!!!!!!!

    JO

  7. Servus!

    Also des mit "noresize" funktioniert net,

    ich hab die Frames fest eingestellt, hier der code:

    <html>

    <head>

    <title>Untitled Document</title>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    </head>

    <frameset rows="115,*,40" cols="*" frameborder="NO" border="0" framespacing="0">

    <frame src="frame_top.htm" name="TOP" noresize scrolling=no>

    <frameset cols="123,640,37,*" rows="*" frameborder="NO" border="0" framespacing="0">

    <frame src="frame_left.htm" name="LEFT" noresize scrolling=no>

    <frame src="main.htm" name="MAIN" noresize scrolling=no>

    <frame src="frame_right.htm" name="RIGHT" noresize scrolling=no>

    <frame src="frame_dummy.htm" name="DUMMY" noresize scrolling=no>

    </frameset>

    <frame src="frame_bottom.htm" name="BOTTOM" noresize scrolling=no>

    </frameset>

    <body bgcolor="#FFFFFF" text="#000000">

    </body>

    </html>

    Hat jemand eine lösung?

    JO

  8. Servus!

    Also folgendes Prob, ich hab ne seite mit ein paar frames

    gebastelt, um genauzusein 3 nebeneinander.

    Wenn ich nun das Browserfenster vergrösser oder verkleiner, dann ändert sich die grösse der Frames, kann ich das ausstellen?

    So guckt die einbindung z.B. vom hauptframe aus...

    <frame src="main.htm" name="MAIN" scrolling=no>

    JO

  9. Aaaah :eek:,

    wir haben Samstag morgen und ich bin in einer

    PräsentationsSchulung von meinem Betrieb aus...

    ...die ist um 17Uhr aus!

    Weis irgendjemand was man gegen langeweile in einer Schulung tun kann?

    JO

  10. Hm,

    als ich mich vor 2 Jahren beworben hab, hab mich mir überlegt wie meine Bewerbung aussehen soll, hab mir so vorlagen beim Arbeitsamt angeschaut und hab festgestellt, das das alles besch... aussieht!

    Ich hatte nämlich ein Problem, absolut miesen Wirtschaftsschul-Abschluss. Einen 5er viele 4er und ein paar 3er drin ;)

    Die Noten kommen durch mein kleines Laster, den Computer, Programmieren hat mir mehr Spass gemacht als Hausaufgaben.

    Dann hab ich die Bewerbung halt mit nem 3D Rahmen ausenrum gestaltet und hab halt erweng die Design-Seite von mir aktiviert...hat geholfen!

    Ich denk mir wenn ein Personalchef 20 Bewerbungen sieht, wird er deiner, wenn sie gut gestaltet ist, vielleicht mehr Aufmerksamkeit schenken als den anderen.

    Ausserdem hab ich festgestellt, das ein Abi gar nix sagt!

    Ich war in der Berufsschule mit einem Haufen Fachinfo's von der BA(Bundesanstalf für Arbeit) in der Klasse, die konnten gerade mal solitär öffnen und hatten auch sonst net so viel auf dem Kasten, tja!

    FuckSchulsystem!

    bye

    JO;)

  11. Hi!

    Warum ist denn die Methode unsauber?

    Ich weis nicht was du unter "zerstört" verstehst,

    ich denk mal du meinst, wenn er geschlossen ist,

    na und?

    Das Objekt der Klasse TestDlg ist doch noch da oder?

    Und DoModal() war ja nur eine kleine funktion der

    Klasse von dem das Objekt(Der Dialog) abgeleitet wurde.

    Oder?

    sers

    JO

  12. Servus!

    Hast du's schon mit einem RichEditControl versucht?

    Dein Dialog muss ActiveX unterstützen, das musst du ganz am anfang einstellen, beim erstellen deines Projektes, nun fügst du

    statt einem normalen EditCtrl ein RichEditCtrl ein,

    das ist das Symbol auf dem

    ab

    draufsteht, nun musst du nur, bevor dein Dialog aufgerufen wird,

    vor's dlg.DoModal();

    diesen Aufruf setzen:

    AfxInitRichEdit();

    erstell im Klassenassistenten eine Membervariable vom Typ

    CRichEditCtrl,

    z.B.

    CRichEditCtrl m_ctrlRich;

    nun kanns du in der :OnInitDialog() deines Dialoges

    mit dem Code

    m_ctrlRich.SetBackgroundColor(FALSE, RGB(0,0,255));

    den Hintergrund deines EditFelds Blau anstreichen,

    wenn du mehr wissen willst, guckst du halt in der MSDN nach...

    bye

    JO;)

  13. Hm, sieht ziemlich nach VB Code aus!

    Sieh dir meine Erklärung an, wie man eine intvariable ändert:

    Wert einer int-Variable in anderem Dialog

    Anstatt die intvariable zu ändern,

    schreibst du halt einfach:

    
    GetDlgItem(IDC_BUTTON_TEST)->EnableWindow(TRUE);
    
    
    für's aktivieren bzw.
    
    GetDlgItem(IDC_BUTTON_TEST)->EnableWindow(FALSE);
    
    

    für's deaktivieren...

    Mit GetDlgItem holst du dir einen Pointer auf dein Steuerelement, statt IDC_BUTTON_TEST musst du halt noch die IDC des Buttons angeben.

    Aber pass auf das der Dialog geöffnet ist, denn wenn wenn nicht kann es derb krachen!

    ich hoff das hilft weiter!

    bye

    JO;)

  14. Warum ich versuch nen Const zu ändern?

    Weil mir langweilig war, war eine spielerei,

    aber mich würde das verhalten interessiern,

    warum steht im Speicher der geänderte Wert

    der Computer rechnet aber mit dem alten!

    JO

  15. Also, folgendes seltsames Phänomen,

    ich hab ein bisschen gebastelt, wollte einen

    const int ändern, hab auch was gefunden was ihn ändert,

    aber irgendwie nicht richtig.

    
    const int nConstWert = 100;
    
    int* pAufConstWert = const_cast<int*>(&nConstWert);
    
    * pAufConstWert = 50;
    
    int nErgebnis = nConstWert + 50;
    
    

    Wenn man im Debugger den Code durchgeht und die Variablen

    überwacht, ändert sich der const int tatsächlich auf 50,

    wenn ich aber mit dem const rechne, und z.B. 50 addiere kommt 150 raus, er behält also den alten wert irgendwo zum rechnen, in der Speicherzelle steht aber 50.

    Wo behält er den alten Wert und weshalb ist des so?

    Ich benutz VisualC++6.0

    JO;)

  16. Servus!

    Das kommt darauf an von wo deine dialoge aufgerufen werden!

    Also, mal angenommen du hast 2 dialoge:

    CDialog1Dlg und

    CDialog2Dlg

    Der erste Dialog(CDialog1Dlg) ist auf dem Bildschirm,

    vom ersten Dialog rufst du den 2ten auf.

    dann schreibst du ja

    
    CDialog2Dlg dlg;
    
    dlg.DoModal();
    
    
    oder so ähnlich. Um jetzt eine Variable zu übergeben, musst du im 2. Dialog eine Membervariable anlegen, z.B.
    int m_nWert;
    diese muss natürlich "public" sein! Um nun die Variable zu ändern, schreibst du einfach:
    
    CDialog2Dlg dlg;
    
    dlg.m_nWert = 20;
    
    dlg.DoModal()
    
    
    Zack, nun ist die Variable geändert, wenn du nun vom 2ten dialog, wärend der offen ist, im 1.ten was ändern willst, ist das erweng komplizierter: Also, leg im 2.ten Dialog einen Pointer vom Typ CDialog an:
    CDialog * m_pDialog;
    Nun beim aufruf deines 2ten Dialogs, übergibst du einen Zeiger auf den 1ten Dialog:
    
    CDialog2Dlg dlg;
    
    dlg.m_pDialog = this;
    
    dlg.DoModal();
    
    
    Der This Zeiger, den jede Klasse besitzt ist ein Pointer auf die eigene Klasse, also in diesem Fall ein Zeiger auf CDialog1Dlg. Wenn du nun im ersten eine Membervariable ändern willst, geht das vom 2ten folgendermassen:
    
    ((CDialog1Dlg*)m_pDialog)->m_nWert = 100;
    
    
    Die Variable m_pDialog ist ja zu Beginn eine Variable des Typs CDialog, nun Castest du sie auf CDialog1Dlg, du kannst statt einer CDialog-Variable auch gleich eine CDialog1Dlg Membervariable im 2.ten Dialog anlegen. Dann entfällt das Casten, musst nur noch
    m_pDialog->m_nWert = 100;

    eingeben, tja viele Wege führn nach Rom!

    Ich hoff mal des war etz nicht zuviel ;D

    bye

    JO;)

    Ps. Solltest natürlich den Pointer im Konstruktor deines 2ten Dialogs auf NULL setzen! :rolleyes:

  17. Servus!

    Also das mit dem BitmapButton ist relativ einfach,

    du benutzt die Klasse CBitmapButton,

    du hast dann nur ein Bitmap auf dem Dialog, keinen ButtonRand mehr, sieht halt cool aus und kannst geile Dialoge damit basteln,

    also folgendermassen, du brauchst einige Bitmaps,

    mindestens 2!

    Es gibt folgende Stats die ein Button haben kann:

    Normal

    Disabled

    Gedrückt

    und Focus

    Du erstellst im Recourcen Editor einen Button auf deinem Dialogfeld,

    nun drückst du Stgr+W, du kommst in den Klassenassistenten.

    Nun öffnest du das Tab "Membervariablen", hier hast du nun unter anderem deinen Button, du doppelklickst seinen Namen.

    Nun weist du deinem Button eine Membervariable zu,

    die nennst du m_ctrlButton, oder so ähnlich.

    Wenn du die Variable erstellt hast, öffnest du die .h Datei deines Dialoges, da scrollst du durch, irgendwo im grauen Bereich siehst du deine Membervariable, da sollte jetzt

    CButton	m_ctrlButton;
    stehn, du änderst das jetzt in
    	CBitmapButton	m_ctrlButton;
    Nun öffnest du die .cpp Datei deines Dialoges, suchst dir die ::OnInitDialog() dort schreibst du ans Ende folgenden Code
    m_ctrlButton.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2, IDB_BITMAP2, IDB_BITMAP2);
    
    

    Du musst davor natürlich 2 oder mehr Bitmapressourcen anlegen,

    ich verwende hier 2.

    Nun werden beim starten deines Dialoges die Bitmaps geladen,

    nun öffnest du die Ressource für deinen Dialog, klickst den Button mit rechts an under Eigenschaften/Formate

    klickst du die Checkbox "Besitzerzeichnung" an.

    Nun führst du dein Prog aus, und simmsalabimm,

    drin ist die Bitmap ;) wennnicht les in der MSDN nach!

    bye

    JO:D

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...