Articles of C ++ CLI

是否有任何Visual C ++编译器支持大部分VS Visual C ++的Linux?

是否有任何Visual C ++编译器支持大部分VS Visual C ++的Linux? 如果没有这样的移植\适应你的visual C ++代码的最佳select?

为什么我的C ++ / CLI工具提示不出现?

我有一些validation代码应该显示input错误值时的控件的最大/最小值。 在我的构造函数中,我这样做: m_wndToolTip = gcnew ToolTip(this->components); m_wndToolTip->AutoPopDelay = 5000; m_wndToolTip->InitialDelay = 10; m_wndToolTip->ReshowDelay = 250; m_wndToolTip->ShowAlways = true;// Force the ToolTip text to be displayed whether or not the form is active. 这是我的validationreflection代码: void MyGUI::IndicateValidationResult(Windows::Forms::Control^ control, bool isValid, String^ invalidReason) { // If the validation failed, make the background red. If not, turn it white. […]

无Unicode库和Windows语言环境

我正在使用(似乎是)一个ansi(或ascii ??)dll库。 我认为这是因为与lib提供的头文件显示函数使用char *的和LPSTR和LPCSTR和char数组结构。 这个DLL通过:: LoadLibrary从一个cpp / cli类库中加载,该类库封装了它的function并将其公开给c#。 一个C#控制台应用程序和各种其他类库使用此cli库执行操作。 我可以使cli集合ether多字节或Unicode(据我所知在语言支持方面是相同的),并且c#应用程序始终是Unicode。 这个本地dll本质上是一个适当的后端服务器的代理,它将信息从服务器传回。 我遇到的问题是,如果os语言环境(对于没有Unicode应用程序的情况下,其运行的语言设置为特定语言),本机dll lib将只能正确运行特定语言。 即如果我想要应用程序正确使用中文字符,该地区需要设置。 我发现很难理解的是,为什么经纪人的地点是重要的。 据我所知,如果服务器是一个ansi应用程序,如果用户想要存储没有Unicode中文,设置服务器上的语言环境将是有意义的,所以它会在客户端,而不是在中间人,只是通过的东西。 此外,整个事情变得非常混乱。 有没有把Unicode传递给像c + +中的字符数组? 即使在这种情况下工作? 这是我正在考虑的一个场景: C#应用程序获取url编码string c#app解码string并将其传递给cli cli以某种方式将string^(或者在这一点上应该是byte [])转换为char []并将其传递给本机库 这真的可能吗? 在内存布局方面,它应该,我的意思是字符只是一个字节没有? 我以正确的方式接近这个吗? 有没有更好的方法来完成跨语言支持。 请注意,供应商已经logging在案,表示无法在API中混合使用语言,但这不是我所期待的。 我只是不想在我想支持的每种语言的单独操作系统上运行该软件的实例。

如何从.cpp文件访问文本框?

如何从.cpp文件访问Form1.h (在Windows窗体上)的文本框? 我希望当用户按下窗体上的button时,一些文本被添加到同一窗体上的文本框。 当button被按下时,我想调用.cpp文件中的一个类,(在一些计算和什么之后)添加一些文本到文本框。 我一直试图弄清楚这一点,但无济于事。 有谁愿意分享我可以做到这一点? 任何帮助,将不胜感激。

Win10如何禁用屏幕自动转换(programmaticaly或批处理命令)

我正在使用C ++ / CLI编写Windows 10应用程序。 该应用程序将运行在便携式计算机上(运行标准Win10 SO,而不是平板电脑版本)。 这台便携式电脑有自动旋转,但我需要保持我的应用程序只在肖像configuration。 我想在应用程序启动时禁用屏幕自动旋转。 是否有C ++ / CLI命令,C#命令或批处理命令,我可以编程(批量将从我的应用程序调用)?

是否有可能有多个扩展types的文件filter?

我正在使用标准的Windows FileDialog来允许用户select一些文件。 我只想过滤掉我感兴趣的文件types(让我们称它们为*.a和*.b )。 有没有办法做到这一点,而不使用*.* ? 我已经尝试了以下,但它无法匹配任何文件: this->openFileDialog1->DefaultExt = L"*.a,*.b"; this->openFileDialog1->FileName = L"openFileDialog1"; this->openFileDialog1->Filter = L"My Data Files (*.a,*.b)|*.a,*.b";

C ++ – 'Stream'未声明的标识符

新手这里基本上我想加载一个文件到inputstream。 我得到以下错误 错误C2065:'stream':未声明的标识符。 #pragma once #include <iostream> #include <iomanip> #include <sstream> #include <fstream> namespace test2 { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; public ref class Form1 : public System::Windows::Forms::Form { // … private: System::Void browse_Click(System::Object^ sender, System::EventArgs^ e) { Stream^ myStream; OpenFileDialog^ openFileDialog1 […]

如何在Visual C ++ PictureBox中绘制线条

我想在Visual C ++ Forms PictureBox中绘制黑色线条来绘制一些信息。 我应该怎么做呢? 一个PictureBox可以用来做到这一点,或者我应该使用别的东西吗?

在VC ++中通过C ++代码访问GUI组件

我已经在VC ++ 2010 Express版本中创build了一个Windows窗体项目。 所以,在那个项目中,我创build了一个只有1个button和1个文本框的表单。 这个表单的名字是Form1 。 这个button称为函数FD写在同一个项目的.cpp文件中。 但是,在运行代码时,我需要用一些文本更新文本框。 我想通过.cpp文件访问文本框。 我已经尝试了以下内容: 我包含了#include "Form1.h" ,然后写了textBox1->Text="XYZ" 。 然而,在构build它的时候却说找不到任何名为textBox1成员。 如何从.cpp文件访问文本框? 编辑: FD.cpp #include<stdafx.h> #include "Form1.h" … //other includes void abc() { //Some code textBox1->Text="String to be displayed." //Some code } Form1.h 这是一个简单的GUI窗体,其中添加了一个名为button1的button和一个名为textBox1的文本框。 #include<FD.h> //code generated by the GUI void button1_click() { abc(); }

快速像素绘制c + +窗体

我正在尝试为原始空间侵略者街机机器制作一个C ++模拟器。 一切正常,但很慢。 在计划我的项目中的几个function之后,我发现最大的缺点是我的绘画屏幕function。 它需要+ 100ms,但我需要16ms /帧,例如60Hz。 这是我的function: unsigned char *fb = &state->memory[0x2400]; Bitmap ^ bmp = gcnew Bitmap(512, 448); for (int j = 1; j < 224; j++) { for (int i = 0; i < 256; i+=8) { unsigned char pix = fb[(j * 256 / 8) + i / 8]; for (int […]