如何将项目win32控制台应用程序转换为C ++ Windows窗体?

时间:2013-11-13 11:41:46

标签: c++ visual-c++ c++-cli

如何将项目win32控制台应用程序转换为C ++ Windows窗体? 这是我的win32控制台代码,但我想用C ++ Windows Form转换它。

#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string>
#include<iostream>

using namespace std;

const char TAB='\t';
char varlook;
char s[100];
char name[10];




char str[100],str1[100],str2[100],str3[100],str4[100],var[100];
    int i=0,l,l1,j=0,k=0,d=0;   
    int m=0;
    char keyword[100][100]={"int","float","char","double","if","else","for","while","do","auto","break","case","const",
                            "switch","continue","enum","extern","goto","short","register","return","sizeof","static",
                            "struct","typedef","union","void","while","signed","unsigned","default"};
void main(void)
{
gets(str);
while(str[i]!='\0')
{
while(isspace(str[i]))
i++;
if(isalpha(str[i]))
{
k=0;
while(isalnum(str[i]))
{
str1[k]=str[i];
i++;
k++;
}
str1[k]='\0';
l=0;
while(j<100)
{
if (strcmp(str1,keyword[j])==0)
{
l=1;
break;
}
j++;
}
if(l==1)
{
printf("\n   %s    ERROR- it is keyword ",str1);
break;
}
else
{
printf("\n   %s    Valid Identifier ",str1);
break;
l=0;
while(str1[l]!='\0')
{
var[m++]=str1[l++];
}
}
}
else if (isdigit(str[i]))
{
k=0;
while(isalnum(str[i]) || str[i]=='.')
{
if(str[i]=='.')
d++;
str2[k++]=str[i++];
}
printf("\n   %s    ERROR- it is digit ",str2);
break;
}
}

getche();
}

如何将项目win32控制台应用程序转换为C ++ Windows窗体? 这是我的win32控制台代码,但我想用C ++ Windows Form转换它。

2 个答案:

答案 0 :(得分:2)

我认为这可行:

右键单击项目,属性,链接器,系统,更改子系统设置。您还必须将main()方法更改为WinMain()。你最好创造一些窗户,或者看不出多少。

答案 1 :(得分:1)

您可以使用C ++ / CLI

创建一个CLR空项目。 添加一个名为MyForm的新项Visual C ++ / UI / Windows窗体 添加MyForm.cpp

int main()
{
  Project1::MyForm^ dlg = gcnew Project1::MyForm;
  dlg->ShowDialog();
}

然后通过添加输入文本框,评估内容的按钮和显示结果的标签来设计UI。

为按钮添加事件处理程序,当您按下按钮时,阅读文本框的内容并将结果显示在标签框中。

这将为您提供一个准系统程序,但至少它为您提供了一个快速框架。

我建议您使用更多C ++方式指定关键字,例如使用std :: vector或std :: map - 使事情变得如此简单。