添加WM_DROPFILES消息
void CMyEdit::OnDropFiles(HDROP hDropInfo)
{
int fcount = ::DragQueryFile(hDropInfo,-1,NULL,NULL)
for(int i=0i<fcounti++)
{
int fsize = ::DragQueryFile(hDropInfo,i,NULL,NULL)
HANDLE hHeap = ::GetProcessHeap()
char *fname = (char *)::HeapAlloc(hHeap,HEAP_ZERO_MEMORY,fsize++)
::DragQueryFile(hDropInfo,i,fname,fsize)
this->SetWindowText(fname)
::HeapFree(hDropInfo,HEAP_ZERO_MEMORY,fname)
}
CEdit::OnDropFiles(hDropInfo)
}
在对话框OnInitDialog()中开启编辑框文件拖放功能
m_edit.DragAcceptFiles(1)
这要看你所使用的系统平台,图形化编程与系统平台息息相关对于C语言来说,有许多成熟的框架。比如Windows上可使用Windows的系统API,Linux下有GTK,嵌入式环境下有miniGUI等。
C语言是一门比较特殊的语言,虽然也是高级编程语言的一种,但是为了和其他语言区分开来,部分人也会将C语言称作中级语言,主要是因为C语言不是面向对象的语言,并且有指针这样的利器可以直接对底层以及硬件进行操作。
正是因为C语言不是面向对象的语言,在图形化这样更偏上层的应用中,一般会使用C++替代C语言,这样能极大的降低开发的工作量。
比如,Windows下可使用MFC,WPF也支持C++。Linux下一般用跨平台的QT(可在Windows/MAC等多种平台运行)。嵌入式环境下有嵌入式的QT版本。