Šta je novo?

VS c++ 2005 Express & ColorDialog Class

woodland

Slavan
Učlanjen(a)
12.09.2007
Poruke
10
Poena
304
Potrebno mi je da znam kada je korisnik pretisnuo OK a kada CANCEL kad se pojavi dijalog za odabir boje.

Nasao sam resenje na MSDN-u http://msdn2.microsoft.com/en-us/library/system.windows.forms.colordialog.aspx
Kod:
private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      ColorDialog^ MyDialog = gcnew ColorDialog;
      // Keeps the user from selecting a custom color.
      MyDialog->AllowFullOpen = false;
      // Allows the user to get help. (The default is false.)
      MyDialog->ShowHelp = true;
      // Sets the initial color select to the current text color.
      MyDialog->Color = textBox1->ForeColor;
      
      // Update the text box color if the user clicks OK 
      if ( MyDialog->ShowDialog() == ::DialogResult::OK )
      {
         textBox1->ForeColor = MyDialog->Color;
      }
   }

ali ovaj kod ne prolazi kompajliranje, tj. konkretno linija:
Kod:
     if ( MyDialog->ShowDialog() == ::DialogResult::OK )
koja meni izgleda potpuno nejasno jer sam pocetnik sto se tice .NET-a

Da li neko zna zasto ovo ne radi?
Takodje bio bih zahvalan za bilo kakav link o koriscenju ColorDialog klase.
 
Prokleti microsoft ima gresku u svom msdn-u, treba da pise ovako:
Kod:
 if ( MyDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK  )
😡
 
Jedan mali off:

Na MSDN-u pisu obicni ljudi. Neko radi u MS-u ali neko ne. Desi se i njima da pogrese. (u ponekim primerima i precesto 🙂)
 
Ne vidim šta je greška. Samo nisi imao u Using delu (ili kako je već u C++) System.Windows.Forms i to je to. Zato i mora
Kod:
System::Windows::Forms::DialogResult
, a ovako bi odmah moglo
Kod:
::DialogResult::OK
 
Poslednja izmena:
Priznajem da nisam strucan da govorim o c++ i .NET-u jer sam pocetnik u tim vodama (iskljucivo sam do sada radio sa C-om), ali mi opet deluje da kod :

Kod:
::DialogResult::OK

ne "pije vodu".

Ako mozes ilustruj to nekim primerom da vidim na delu kako to radi.

Pozdrav
 
Nije me mrzelo da instaliram C++ (budalaš...) i probam. U pravu si, ne može, a evo i zašto
Kod:
Hallo R!
Ok! Now I see the problem!  
You are using this inside a Form-derived class...  
The Form itself contains a member called "DialogResult".  
The compiler is using this member instead of the enum...  
Also if you enter "::" after "DialogResult" you get the "correct" hint  
(you have only "get" or "set" and no values of the enum!).  
AFAIK the shortest version is:  
Windows::Forms::DialogResult::OK  
Inside a Form...

Original link
http://www.eggheadcafe.com/forumarchives/NETvc/Feb2006/post25834409.asp
 
Poslednja izmena:
Nazad
Vrh Dno