|
Still another question:
I want to create a .NET equivalent to the MFC CDialogBar.
When I move a form which is a child of a panel,
the mouse position is bounded by the panel,
even if I set
Parent = nullptr;
TopLevel = true; on first Move-Event and even if the panel is not
visible any more. Is there a workaround?
Alex
|
|
|
|
|
Hello!
For the mouse, I found a solution:
The allowed mouse position is bounded by the Cursor->Clip property.
But still the window can not be moved completely out of the panel,
it stops at the border.
Alex
|
|
|
|
|
Ok, nearly solved.
When I override the WndProc-Method and process the WM_SYSCOMMAND(SC_MOVE) Message,
I can reset the Parent-property and the window is not bounded any more.
Alex
|
|
|
|
|
Hello!
I want to compare the type of an object to a class.
What is the correct syntax to use? In my case, I
want to know if a control is an instance of MdiClient.
GetType works on the pointer, but not on the class.
typeid(MdiClient) gives me error C3767.
Alex
|
|
|
|
|
if (some_ref_handle->GetType() == MdiClient::typeid)
{
}
|
|
|
|
|
Thank you!
At first I got an error because MdiClient is a private(?) member
of the class (which is not shown in the IntelliSense list).
But with
Windows::Forms::MdiClient::typeid
it works.
Alex
|
|
|
|
|
Cool
LionAM wrote: MdiClient is a private(?) member
of the class
MdiClient IS the class.
LionAM wrote: But with
Windows::Forms::MdiClient::typeid
it works.
Oops - I guess I assumed "using namespace Windows::Forms;"
typeid needs to know the type at compile time. You could also use something like
if (some_ref_handle->GetType() == Type::GetType("Windows::Forms::MdiClient"))
for a runtime check.
Cheers,
Mark
|
|
|
|
|
Hello!
::MdiClient::typeid works, but MdiClient::typeid
gives
error C3223: 'System::Windows::Forms::Form::MdiClient' : you cannot apply 'typeid' to a property
Alex
|
|
|
|
|
MdiClient is in the System::Windows::Forms namespace, not the
System::Windows::Forms::Form namespace (which doesn't exist -
System::Windows::Forms::Form is a class).
Either of these should work:
using namespace System::Windows::Forms;
...
if (objectref->GetType() == MdiClient::typeid)
or
if (objectref->GetType() == System::Windows::Forms::MdiClient::typeid)
Mark
|
|
|
|
|
Hi all,
I have a server application that sends a udp message to clients,
But it receives the message as well,
And I don't want this....
I want only other clients Receive the message.
Please help me,
Thank you.
Every new thing you learn,Gives you a new personality.
|
|
|
|
|
dSolariuM wrote: I have a server application that sends a udp message to clients
HoW?
Mark
|
|
|
|
|
Dear experts,
I have the following problem.
I have "C++ - unmanaged code" and I want to use it in my managed C#-Applications. Therefore I have a "managed C++" - wrapper around my "unmanaged C++ - Code"
At the end I have the following "call-sequence"
"Managed C#" -> "Managed C++" -> "Unmanaged C++"
All works fine, but the problem beginns at debugging the unmanged C++-Code.
a) I cannot step-into the "unmanged C++-Code"
b) The unmanged objects are not expanded in the debugger
Does somebody have any advice?
Kind regards
|
|
|
|
|
Ok,
I found the solution the "stop-into"-Problem by Myself: Just the the debugger-option to: "Enable unmanaged code debugging".
What remains is the second problem: The unmanaged objects are not expanded.
Kind regards
|
|
|
|
|
Hallo,
I found another part of solution.
If I set for all 3 components the debugger-option to "mixed mode" than I can expand the "unmanged objects" in the "managed C++"-Wrapper )))
But I still cannot expand my "unmanaged C++"-objects in my "manged C#"-Code.
I fear, this is not possible due to totally different languages
Kind regards
|
|
|
|
|
How can I get Decimal separator in the system that my program run
I use Visual c++ NET
|
|
|
|
|
Hello!
Have a look at:
System::Globalization::CultureInfo::CurrentCulture->NumberFormat->NumberDecimalSeparator
Alex
|
|
|
|
|
|
Dear All,
I have a telephone field on my form for example, it can be Account number, how can I format my text1 field so that what I Capture be what I need.
|
|
|
|
|
I have a project written in C++,and I want to use the .NET framework as the architecture in the next version. Rewrite all the code in C# is impossible, so I give my attention to C++/CLI.
I have less understanding about this tech, I only know these points about it:
1.The original C++ code can be compiled in the C++/CLI compiler
2.I can use all of the C++ function in the new platform
3.I can use all of the .NET framework function in my C++ code
4.For deploy issue, I will only need to install the .NET framework will my application, then everything could be OK
Are there any other things need to be noticed?
|
|
|
|
|
Tal Rasha's Guardianship wrote: 4.For deploy issue, I will only need to install the .NET framework will my application, then everything could be OK
You may need to deploy additional things used by your C++ code, like MFC and/or the CRT libraries.
You should also understand interop between native and managed code, if it applies.
Visual C++ .NET Programming Guide[^]
Mark
|
|
|
|
|
Thanks for your reply.
I cared about if C++/CLI can be used in a large C++ project, are there any troubles may happen?
|
|
|
|
|
C++/CLI is great for making the transition from native C++ to the managed .NET
world - that's it's intended purpose. If you have C++ code and you want to use
the .NET framework then it's great.
Eventually you'll notice that the development tools using C# are much better, but
C++/CLI let's you use your existing C++ code as you make the transition.
I use C++/CLI extensively, along with native C++ and C#. There's no troubles that are any
different than using any other .NET language. Having the rich .NET framework available to
existing C++ code is great.
It's worth taking the time to study and understand the fundamentals of managed programming.
Especially important is performance-critical applications if you're making a lot of transitions
between managed and unmanaged code.
C++: The Most Powerful Language for .NET Framework Programming[^]
CLR Development (How Do I in Visual C++)[^]
Mark
|
|
|
|
|
Hi, I'm using Visual Studio 2005 C++/CLI. I have a requirement that needs to write some ASCII to a file followed by binary data. I set up a BinaryWriter(FileStream) and everything is okay except that there is a byte preceding the String^ variables denoting the number of characters to follow. I do not want these "extra" bytes in the file. Is there a way to surpress these bytes from being written to the file?
Thanks,
Buck
|
|
|
|
|
You need to write the String chars yourself.
BinaryWriter has a Write() method that writes a Char.
for (int i = 0; i < str->Length; i++)
writer->Write(str[i]);
Of course, you won't be able to read the data back in as a String
without some way of indicating where strings end in the file.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
After I have finished my Visual c++ NEt 2005 Application, I try to execute it in an other PC: just a Copy the exe file. I have a message the configuration is incorrect.
What to do ?
|
|
|
|