none
Ein Element/Leiste von einer anderen Form aus-und einblenden! RRS feed

  • Frage

  • Hallo Freunde,

    ich habe ein Problem den ich einfach nicht lösen kann.

    Ich habe ein Programm geschrieben das mehrere Fenster (Forms) enthält und kann sie auch erfolgreich aufrufen wenn ich auf ein Button klicke.

    Das Problem: Bei einem Fenster/Form (anpassen.h) habe ich eine listbox erstellt mit mehreren Checkbox einträgen drinne.

                         Jetzt möcht ich nur das wenn ich die Checkbox vom Fenster/Form (anpassen.h) aktiviere oder deaktiviere

                         mir dann die Leiste vom Fenster/Form (Form1.h) ein- oder ausblendet.

    Könnt Ihr mir weiter helfen?
    Mittwoch, 8. April 2009 18:04

Antworten

  • Und warum hast Du in der Funktion selbst eine neue Funktion definiert?
    BTW:
    Form1.richTextBox1->Visible = checkBox1->Checked!=0;

    Macht auch was Du willst. Der entsprechende If Block ist überflüssig.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    • Als Antwort markiert Erdem Yüksel Donnerstag, 9. April 2009 14:43
    Donnerstag, 9. April 2009 13:32
    Moderator

Alle Antworten

  • Mit was hast Du Dein Programm geschrieben? Windows Forms (also C++/CLI), mit der MFC, mit ATL oder pures Windows API?
    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 8. April 2009 19:10
    Moderator
  • Hallo Martin,

    tschuldige das ich so spät antworte musste mein PC neu Installieren.

    Das 1. trifft zu ich habe es mit Windows Forms geschrieben.

    Mit freundlichen grüßen

    Erdem Yüksel

    Donnerstag, 9. April 2009 02:27
  • Dann musst Du auf das entsprechende Event das Visible Atribut der entsprechenden Controls auf True bzw. False setzen.

    http://msdn.microsoft.com/de-de/library/system.windows.forms.control.visible(VS.80).aspx

    BTW: Wenn Du Windows Form Anwendungen schreibst und das .NET Framework benutzt würde ich Dir eher raten C# zu verwenden.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 9. April 2009 07:09
    Moderator
  • Hallo Martin,

    danke für die Antwort.

    Ich bin jedoch nicht weitergekommen weil ich nicht weis wie ich es anwenden muss.

    Hier mein Code Beispiel:

    private: System::Void checkBox1_CheckedChanged(System::Object^  sender, System::EventArgs^  e)
    
    {
    
    	public:
    
    	void HideShowEditor()
    
    	{
    
    		if(checkBox1->Checked)
    
    		{
    
    			Form1.richTextBox1->Visible = true;
    
    		}
    
    		else
    
    		{
    
    			Form1.richTextBox1->Visible = false;
    
    		}
    
    	}
    
    
    
    }
    
    
    Ich möcht das wenn ich auf den CheckBox klicke im 2. Fenster mir den Editor im 1. Fenster ein- oder ausblendet.

    Mit freundlichen Grüßen

    Erdem Yüksel

    P.S: Ich arbeite mit Visual C++ 2008 Express Edition und es ist eine Windows Forms Anwendung (CLR)
    Donnerstag, 9. April 2009 10:53
  • Und warum hast Du in der Funktion selbst eine neue Funktion definiert?
    BTW:
    Form1.richTextBox1->Visible = checkBox1->Checked!=0;

    Macht auch was Du willst. Der entsprechende If Block ist überflüssig.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    • Als Antwort markiert Erdem Yüksel Donnerstag, 9. April 2009 14:43
    Donnerstag, 9. April 2009 13:32
    Moderator
  • Hallo Martin,

    vielen dank für die Antwort.

    Sie war sehr hilfreich und hat mein Problem gelöst.

    Vielen dank.

    Mit freundlichen Grüßen

    Erdem Yüksel
    Donnerstag, 9. April 2009 14:43