Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Windows Forms / WinForm General / June 2007

Tip: Looking for answers? Try searching our database.

From Console::WriteLine() to message box

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Allen Maki - 02 Jun 2007 10:53 GMT
/*

I am trying to use message box instead of Console::WriteLine() to upgrade my
code from just using the console to using GUI.

In the bottom 2 lines, #1 works, but I have hard time to make # 2 works. Can
anybody give a hand here to make the information to be shown on the message
box instead of being shown on the console.

I am using visual C++ .NET 2003

Thanks

*/

#include "stdafx.h"

#include <gcroot.h>

#using <mscorlib.dll>

using namespace System;

using namespace System::Runtime::InteropServices;

typedef void* HWND;

[DllImportAttribute("User32.dll", CharSet=CharSet::Auto)]

extern "C" int MessageBox(HWND hw, String* text,

String* caption, unsigned int type);

__gc class MClass

{

public:

int val;

MClass(int n) //costructor

{

val = n;

}

};

class UClass

{

public :

gcroot<MClass*> mc;

UClass(MClass* pmc) //constructor

{

mc = pmc;

}

int getValue() //get function

{

return mc->val;

}

};

int _tmain()

{

Console::WriteLine(S"Testing...");

//Create a managed object and assign 3 to it

MClass* pm = new MClass (3);

//Create an unmanaged object and assign the value of the manged object (pm)
to it

UClass uc(pm);

Console::WriteLine(S"Value is {0}", __box(uc.getValue())); //<-------- This
will work # 1

//MessageBox(0, uc.getValue(), S"Message Box...", 0 ); //<------- this will
not work # 2

return 0;

}
Herfried K. Wagner [MVP] - 02 Jun 2007 13:18 GMT
"Allen Maki" <allenmaki@sbcglobal.net> schrieb:
> I am trying to use message box instead of Console::WriteLine() to upgrade
> my code from just using the console to using GUI.
>
> In the bottom 2 lines, #1 works, but I have hard time to make # 2 works.
> Can anybody give a hand here to make the information to be shown on the
> message box instead of being shown on the console.

Remove the 'DllImport' and use 'System::Windows::Forms::MessageBox' instead,
which provides a 'Show' method.

Signature

M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://dotnet.mvps.org/dotnet/faqs/>

Allen Maki - 03 Jun 2007 01:19 GMT
Sorry Herfried,
It does not work.

> "Allen Maki" <allenmaki@sbcglobal.net> schrieb:
>> I am trying to use message box instead of Console::WriteLine() to upgrade
[quoted text clipped - 6 lines]
> Remove the 'DllImport' and use 'System::Windows::Forms::MessageBox'
> instead, which provides a 'Show' method.
Herfried K. Wagner [MVP] - 03 Jun 2007 01:47 GMT
"Allen Maki" <allenmaki@sbcglobal.net> schrieb:
> Sorry Herfried,
> It does not work.

Are you sure you didn't forget to "import" "System.Windows.Forms.dll", which
contains the 'MessageBox' class?  If this doesn't fix your problem, I
suggest to post the code that doesn't work.

Signature

M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://classicvb.org/petition/>


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.