visualfc

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  42 随笔 :: 0 文章 :: 119 评论 :: 0 Trackbacks
liteide x25已发布,界面简洁一些,支持Go1.4。
因为要编译打包和上传四个操作系统版本,所以二进制版本的发布周期比较长。
相对而言,github上的源码版本相对比较新,BUG也会及时修复。
使用 fox1.7.x
VFC只提供了对VS2010 VCExpress的支持
可以使用PSDK2003SP1 的ATL3
VS 2010 Express 自带SDK
WTL的最新svn已经可以支持VS2010和VS2010Express版本了。
cppsupport-1.3.1-win32-plugin.zip是使用VC8Express编译的。
如果自行编译QTC和CppSupport,MINGW和VC8都可以。
@OwnWaterloo
:-)
QT的cplusplus写的要比CB的好。
CPlusPlus是Qt Creator中用于分析C++源文件的核心库
代码位于 Qt Creator源码的 src/libs/cplusplus/目录下
其中 C++ 语法分析/错误检查部分使用标准C++库完成,不使用QT库。
我也是刚开始看。

对于CodeBlocks的C++源码分析可以参看下面的wiki。
http://wiki.codeblocks.org/index.php?title=Code_Completion_Design



c++源码分析,可以利用ctags,源代码可以看一下ctags,CodeBlocks的codecompletion,Qt Creator的cplusplus。
@forestlin

在CodeBlocks中codecompletion就是代码分析和自动完成插件。
@codespy
是这样的,本质上一样,只是不同的实现方式而已。
可能的话加我gmail。visualfc at gmail.com
两张图片看不到是因为原来文件名为phone..png,结果编辑时不认,又重传的phone.png。现已修正。
@codespy
我的表达可能不太准确,“这个布局控制与QT和WX有所不同,其子窗口由父窗口管理,。。。” 这段话指的是在WX和QT中使用的是 Lyaout->addWidget(child)的形式,而在此布局中则由 new child(parent)的方式来指定。
为了试验布局是否准确,此例中的键盘布局使用的也是hbox和vbox的组合。即将键盘grid看成是一个vbox和四个hbox组合。
如果详细讲,恐怕不只一篇文章能讲得完,在这里仅简单介绍一下实现原理。
图中的布局仅使用boxlayout来完成,如果配合space可以完成更多控制。
这个布局控制与QT和WX有所不同,其子窗口由父窗口管理,layout仅具备算法功能,因此理论上可以对窗口任意切换layout。

//代码原理如下
class xwnd
{
xwnd* first;xwnd* last;xwnd* prev;xwnd*next;
xlayout* layout;
//调用排版功能
void layout()
{
if (_layout)
_layout->layout(this);
for (xwindow* child = _first; child; child = child->_next)
{
child->layout();
}
}
};
class xwindow : xwnd;
class xframe : xwindow;
class xspace : xwindow;不生成实际的窗口,只是一个占位。

//示例如下:
xframe* frame = new xframe(_T("TEST")); //框架
frame->set_layout(xboxlayout(true));//设置HORZ_BOX
new xedit(frame,LAYOUT_FILL,xsize(100,100)); //左面的EDIT窗口
xwindow* right = new xwindow(frame); //右面的窗口做为容器
right->setlayout(xboxlayout(false)); //设置VERT_BOX
new xspace(right,LAYOUT_FILL_Y); //促使OK和CANCEL按钮置于最下
new xbutton(right,_T("OK"));
new xbutton(right,_T("Cancel"));

frame->create(); //最后生成框架窗口并显示


是的,使用了相似的layout功能来完成。
是的,VFC的WTL应用程序向导不支持EVC。可以使用WTL7.1提供的evc4向导配合VFC的EVC插件来支持EVC上WTL应用程序开发。
多谢分享,下载学习中。。。
不过代码风格不太喜欢,如VL_WinControl,不够简洁。
@OwnWaterloo
谢谢。
我使用 setlocale( LC_ALL, "chs")和mbstowcs(...) 替代MultiByteToWideChar 非常好用。

FXString会自动将wchar_t转换为内部的utf8。而FOX TOOLKIT在Windows下显示的时候在内部会将utf8再转换成utf16进行显示。
re: FOX TOOLKIT 学习 - 文本显示 visualfc 2009-06-25 12:17
@OwnWaterloo
能否说的具体一些,我只找到使用iconv的例子。

FOX的FXString保存的是UTF8编码,实际需要的是GBK-UTF8的转换。
re: WTL AppWizard 2.0 RC1[未登录] visualfc 2009-06-18 10:00
@clay
VisualFC的AppWizard是独立应用程序,不依赖于具体VS环境,这样才可以适用于多个VS平台。
VisualFC项目欢迎一切爱好者的加入。
VisualFC本身实现了Code分析的支持,而VC的Addin只是实现项目和文件的读写功能,对于Code::Blocks的支持跟VC下插件开发的原理都是一样的。
比较容易的一个方式是使用VisualFC附带的AppWizard建立一个WTL新项目,应用程序类型选择Dialog Bases,选择Frame Dialog扩展类型,同时将check it add vfc files to project选择上,在自定义UI页面上可以允许使用Toolbar、ReBar、Command Bar和Status Bar。确认后即可建立一个支持工具栏和状态栏的对话框应用程序。
第二种方式是参考上面VisualFC向导产生的扩展对话框应用程序,来改写现有的对话框项目,向导产生的扩展对话框程序中使用了我编写的一个vfcframe.h文件,该文件已经包含在VisualFC的发行包中。
@free2000fly
WTL项目好久没见更新了,建议你可以单独发布修改后的文件。
@free2000fly
我不是WTL项目组成员。
这个项目是WTL的可视化开发插件,独立于WTL。
re: WTL AppWizard 2.0 RC1[未登录] visualfc 2009-02-11 22:33
@ flyingxu
WTLAppWizard是WTL的应用程序向导,通过它可以以向导的方式生成WTL应用程序。VisualFC中也包括了一个用WTL写的AppWizard。区别是前者是用LUA写的,有中英文两种界面以方便使用。

WTL Addin 是VS的插件,提供了WTL的设计开发支持。

关于开发:
VisualFC 0.80.0610为核心版本,在此基础上扩展VisualFC应用范围。
目前已完成的包括 VisualFC for EVC。
目前正在开发的有 WTLAppWizard。
即将开发的是VisualFC for VSExpress版本。
如果对于VisualFC的功能有什么意见和建议请留言。
re: WTL AppWizard 2.0 RC1[未登录] visualfc 2009-02-11 22:09
@wtl WTLAppWizard2_rc1.zip 是WTL应用程序向导
WTLAppWizard2_rc1_src.zip 是一样的,但是包含了源文件的。
以外置工具的方式调用,更改代码后需要在VSExpress中确认文件的更改,相比VS中要不便一些。
@LOGOS
个人比较喜欢iup的界面设计方式。wxLua通过
dialog:Connect(ID_BROWSE, wx.wxEVT_COMMAND_BUTTON_CLICKED, OnBrowse)的Bind方式来实现,iup的方式相对更加lua化一些。:)

Lua真是不错呀,最近在用Lua重写VisualFC的WTL向导,最终选定了iup来完成。
一直用WTL,习惯于使用unicode了。如果在lua中大量使用 unicode,这种方式还是比较费事,看来只能增加一个类似luaL_loadfile的函数来支持了。
初学LUA,毕竟使用\ddd这种方式比改lua的源码的方式要简单多了。
谢谢提醒.
看来为了线程安全, 可能得将type_id_t<T>::name()接口改为type_id_t<T>().name()了.
WTL的应用程序向导不支持Window Mobile。但VisualFC这个WTL开发工具支持EVC和VS2005/VS2008上Window Mobile的开发。
『我用过时间不短的WTL,关键在于这东西没有设计器』指的是什么?VisualFC这个VS的WTL设计插件提供了VS60/2003/2005/2008下的WTL类向导/应用程序程序向导/类代码生成向导,WTL类向导功能相当于VS60的MFC Class Wizard,包括Message,Notify,Command,DialogResize,DDX/DDV,UpdateUI,DialogFont的完全支持。另外如果不考虑VS60,也可以选择WTLHelper。