标题:求指点,VC对话框程序
只看楼主
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
结帖率:75%
已结贴  问题点数:10 回复次数:14 
求指点,VC对话框程序
如何请问要是用VC创建一个对话框程序,然后要求在主窗口上显示英文单词,然后点击“显示”按钮,会显示相应中文。这要怎么实现呢?英文单词表我有access和txt两种版本的,怎么加入到程序中呢?或者是有什么其他更好的实现方法呢?
搜索更多相关主题的帖子: 英文单词 access 对话框 中文 
2011-05-17 20:54
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
得分:0 
用C语言写,include<windows.h>
2011-05-17 20:55
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
得分:0 
用C语言写,include<windows.h>
2011-05-17 20:55
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
C语言写我不会  不过你可以用VC++的MFC去做

你的东西是类似于查找单词 然后从文件中找出汉语意思

铁道对话框上面对吧

                                         
===========深入<----------------->浅出============
2011-05-17 20:58
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
得分:0 
回复 4楼 laoyang103
嗯,不过只可以用C语言呃,C++没学。。大概是什么思路呢?就不管界面什么的,要想基本实现这个功能该怎么入手呢?
2011-05-17 21:03
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
得分:0 
vc表示不太懂
2011-05-17 21:57
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:0 
在VC中选菜单“插入”(insert)/资源(resource),然后选Dialog,点新建(new)
然后拖个文本编辑框控(Edit)件放上面,再拖个静态文本放上面,右点静态文本控件,选属性,把ID改成IDC_STATIC1。保存,取个文件名。
然后在主程序里这样写代码:
程序代码:
#include <windows.h>
#include "resource.h" /*添加资源文件头*/

typedef HINSTANCE _h; 

/*对话框过程处理*/
BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM); 

/*主程序入口*/
int WINAPI WinMain(_h hInst, _h, LPSTR, int)
{
    /*创建对话框*/
    return DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc, NULL);
} 

/*对话框过程处理回调函数*/ 
BOOL CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    char string[256];

    switch(uMsg)
    {
        case WM_INITDIALOG: /*对话框初始化,你的初始化代码可以放这里*/
            return TRUE;
        case WM_COMMAND: /*控件消息处理*/
            switch(LOWORD(wParam))
            {
                case IDOK:
                    GetDlgItemText(hwnd, IDC_EDIT1, string, 255);
                    MessageBox(hwnd, string, "Hello", MB_OK);
                    SetDlgItemText(hwnd, IDC_EDIT1, "Sample");
                    SetDlgItemText(hwnd, IDC_STATIC1, "Sample");
                    break;
                case IDCANCEL:
                    EndDialog(hwnd, 0);
                    break;
            }
            return TRUE;
        case WM_CLOSE: /*对话框关闭时处理*/
            EndDialog(hwnd, 0);
            break;
    }
    return FALSE;
}
case IDOK那里的代码就换成你读单词表,得到转换结果,然后用SetDlgItemText(hwnd, IDC_STATIC, "Sample");显示结果,读取控件内容用GetDlgItemText();


[ 本帖最后由 hellovfp 于 2011-5-18 10:57 编辑 ]

我们都在路上。。。。。
2011-05-18 10:47
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:5 
工程代码如下:
Sample.rar (15.13 KB)

至于文件读取什么的,数据库查询什么的,自己资料一下,很简单的。

[ 本帖最后由 hellovfp 于 2011-5-18 10:52 编辑 ]

我们都在路上。。。。。
2011-05-18 10:50
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
得分:0 
回复 7楼 hellovfp
哦,谢谢哈~~界面我已经会写了,只是不知道如何读取单词表呢。。。。囧。。。

[ 本帖最后由 sophy123 于 2011-5-18 12:20 编辑 ]
2011-05-18 12:18
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:0 
用二维数组或是链表创建存放单词的内存空间;
FILE *fp = fopen("你的单词表", "r");
char temp[255];
循环读
while(!feof())
{
    fgets(temp, 255, fp);
    然后处理temp里的数据,放到二维数组或是链表里。
}
fclose(fp);最后关闭

从Edit控件里读到一个单词,你就跑到数组里用strcmp("英文单词", 数组里的单词) == 0的时候,表示找到单词了。
然后把数组里的第二维里的中文单词取出来,放到控件上显示即可。

我们都在路上。。。。。
2011-05-18 12:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340211-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.102092 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved