liteide x25已發(fā)布,界面簡(jiǎn)潔一些,支持Go1.4。
因?yàn)橐幾g打包和上傳四個(gè)操作系統(tǒng)版本,所以二進(jìn)制版本的發(fā)布周期比較長(zhǎng)。
相對(duì)而言,github上的源碼版本相對(duì)比較新,BUG也會(huì)及時(shí)修復(fù)。
VFC只提供了對(duì)VS2010 VCExpress的支持
WTL的最新svn已經(jīng)可以支持VS2010和VS2010Express版本了。
cppsupport-1.3.1-win32-plugin.zip是使用VC8Express編譯的。
如果自行編譯QTC和CppSupport,MINGW和VC8都可以。
@OwnWaterloo
:-)
QT的cplusplus寫(xiě)的要比CB的好。
CPlusPlus是Qt Creator中用于分析C++源文件的核心庫(kù)
代碼位于 Qt Creator源碼的 src/libs/cplusplus/目錄下
其中 C++ 語(yǔ)法分析/錯(cuò)誤檢查部分使用標(biāo)準(zhǔn)C++庫(kù)完成,不使用QT庫(kù)。
我也是剛開(kāi)始看。
對(duì)于CodeBlocks的C++源碼分析可以參看下面的wiki。
http://wiki.codeblocks.org/index.php?title=Code_Completion_Design
c++源碼分析,可以利用ctags,源代碼可以看一下ctags,CodeBlocks的codecompletion,Qt Creator的cplusplus。
@forestlin
在CodeBlocks中codecompletion就是代碼分析和自動(dòng)完成插件。
@codespy
是這樣的,本質(zhì)上一樣,只是不同的實(shí)現(xiàn)方式而已。
可能的話加我gmail。visualfc at gmail.com
兩張圖片看不到是因?yàn)樵瓉?lái)文件名為phone..png,結(jié)果編輯時(shí)不認(rèn),又重傳的phone.png。現(xiàn)已修正。
@codespy
我的表達(dá)可能不太準(zhǔn)確,“這個(gè)布局控制與QT和WX有所不同,其子窗口由父窗口管理,。。。” 這段話指的是在WX和QT中使用的是 Lyaout->addWidget(child)的形式,而在此布局中則由 new child(parent)的方式來(lái)指定。
為了試驗(yàn)布局是否準(zhǔn)確,此例中的鍵盤(pán)布局使用的也是hbox和vbox的組合。即將鍵盤(pán)grid看成是一個(gè)vbox和四個(gè)hbox組合。
如果詳細(xì)講,恐怕不只一篇文章能講得完,在這里僅簡(jiǎn)單介紹一下實(shí)現(xiàn)原理。
圖中的布局僅使用boxlayout來(lái)完成,如果配合space可以完成更多控制。
這個(gè)布局控制與QT和WX有所不同,其子窗口由父窗口管理,layout僅具備算法功能,因此理論上可以對(duì)窗口任意切換layout。
//代碼原理如下
class xwnd
{
xwnd* first;xwnd* last;xwnd* prev;xwnd*next;
xlayout* layout;
//調(diào)用排版功能
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;不生成實(shí)際的窗口,只是一個(gè)占位。
//示例如下:
xframe* frame = new xframe(_T("TEST")); //框架
frame->set_layout(xboxlayout(true));//設(shè)置HORZ_BOX
new xedit(frame,LAYOUT_FILL,xsize(100,100)); //左面的EDIT窗口
xwindow* right = new xwindow(frame); //右面的窗口做為容器
right->setlayout(xboxlayout(false)); //設(shè)置VERT_BOX
new xspace(right,LAYOUT_FILL_Y); //促使OK和CANCEL按鈕置于最下
new xbutton(right,_T("OK"));
new xbutton(right,_T("Cancel"));
frame->create(); //最后生成框架窗口并顯示
是的,使用了相似的layout功能來(lái)完成。
是的,VFC的WTL應(yīng)用程序向?qū)Р恢С諩VC。可以使用WTL7.1提供的evc4向?qū)浜蟅FC的EVC插件來(lái)支持EVC上WTL應(yīng)用程序開(kāi)發(fā)。
多謝分享,下載學(xué)習(xí)中。。。
不過(guò)代碼風(fēng)格不太喜歡,如VL_WinControl,不夠簡(jiǎn)潔。
@OwnWaterloo
謝謝。
我使用 setlocale( LC_ALL, "chs")和mbstowcs(...) 替代MultiByteToWideChar 非常好用。
FXString會(huì)自動(dòng)將wchar_t轉(zhuǎn)換為內(nèi)部的utf8。而FOX TOOLKIT在Windows下顯示的時(shí)候在內(nèi)部會(huì)將utf8再轉(zhuǎn)換成utf16進(jìn)行顯示。
@OwnWaterloo
能否說(shuō)的具體一些,我只找到使用iconv的例子。
FOX的FXString保存的是UTF8編碼,實(shí)際需要的是GBK-UTF8的轉(zhuǎn)換。
@clay
VisualFC的AppWizard是獨(dú)立應(yīng)用程序,不依賴(lài)于具體VS環(huán)境,這樣才可以適用于多個(gè)VS平臺(tái)。
VisualFC項(xiàng)目歡迎一切愛(ài)好者的加入。
VisualFC本身實(shí)現(xiàn)了Code分析的支持,而VC的Addin只是實(shí)現(xiàn)項(xiàng)目和文件的讀寫(xiě)功能,對(duì)于Code::Blocks的支持跟VC下插件開(kāi)發(fā)的原理都是一樣的。
比較容易的一個(gè)方式是使用VisualFC附帶的AppWizard建立一個(gè)WTL新項(xiàng)目,應(yīng)用程序類(lèi)型選擇Dialog Bases,選擇Frame Dialog擴(kuò)展類(lèi)型,同時(shí)將check it add vfc files to project選擇上,在自定義UI頁(yè)面上可以允許使用Toolbar、ReBar、Command Bar和Status Bar。確認(rèn)后即可建立一個(gè)支持工具欄和狀態(tài)欄的對(duì)話框應(yīng)用程序。
第二種方式是參考上面VisualFC向?qū)Мa(chǎn)生的擴(kuò)展對(duì)話框應(yīng)用程序,來(lái)改寫(xiě)現(xiàn)有的對(duì)話框項(xiàng)目,向?qū)Мa(chǎn)生的擴(kuò)展對(duì)話框程序中使用了我編寫(xiě)的一個(gè)vfcframe.h文件,該文件已經(jīng)包含在VisualFC的發(fā)行包中。
@free2000fly
WTL項(xiàng)目好久沒(méi)見(jiàn)更新了,建議你可以單獨(dú)發(fā)布修改后的文件。
@free2000fly
我不是WTL項(xiàng)目組成員。
這個(gè)項(xiàng)目是WTL的可視化開(kāi)發(fā)插件,獨(dú)立于WTL。
@ flyingxu
WTLAppWizard是WTL的應(yīng)用程序向?qū)Вㄟ^(guò)它可以以向?qū)У姆绞缴蒞TL應(yīng)用程序。VisualFC中也包括了一個(gè)用WTL寫(xiě)的AppWizard。區(qū)別是前者是用LUA寫(xiě)的,有中英文兩種界面以方便使用。
WTL Addin 是VS的插件,提供了WTL的設(shè)計(jì)開(kāi)發(fā)支持。
關(guān)于開(kāi)發(fā):
VisualFC 0.80.0610為核心版本,在此基礎(chǔ)上擴(kuò)展VisualFC應(yīng)用范圍。
目前已完成的包括 VisualFC for EVC。
目前正在開(kāi)發(fā)的有 WTLAppWizard。
即將開(kāi)發(fā)的是VisualFC for VSExpress版本。
如果對(duì)于VisualFC的功能有什么意見(jiàn)和建議請(qǐng)留言。
@wtl WTLAppWizard2_rc1.zip 是WTL應(yīng)用程序向?qū)?
WTLAppWizard2_rc1_src.zip 是一樣的,但是包含了源文件的。
以外置工具的方式調(diào)用,更改代碼后需要在VSExpress中確認(rèn)文件的更改,相比VS中要不便一些。
@LOGOS
個(gè)人比較喜歡iup的界面設(shè)計(jì)方式。wxLua通過(guò)
dialog:Connect(ID_BROWSE, wx.wxEVT_COMMAND_BUTTON_CLICKED, OnBrowse)的Bind方式來(lái)實(shí)現(xiàn),iup的方式相對(duì)更加lua化一些。:)
Lua真是不錯(cuò)呀,最近在用Lua重寫(xiě)VisualFC的WTL向?qū)В罱K選定了iup來(lái)完成。
一直用WTL,習(xí)慣于使用unicode了。如果在lua中大量使用 unicode,這種方式還是比較費(fèi)事,看來(lái)只能增加一個(gè)類(lèi)似luaL_loadfile的函數(shù)來(lái)支持了。
初學(xué)LUA,畢竟使用\ddd這種方式比改lua的源碼的方式要簡(jiǎn)單多了。
謝謝提醒.
看來(lái)為了線程安全, 可能得將type_id_t<T>::name()接口改為type_id_t<T>().name()了.
WTL的應(yīng)用程序向?qū)Р恢С諻indow Mobile。但VisualFC這個(gè)WTL開(kāi)發(fā)工具支持EVC和VS2005/VS2008上Window Mobile的開(kāi)發(fā)。
『我用過(guò)時(shí)間不短的WTL,關(guān)鍵在于這東西沒(méi)有設(shè)計(jì)器』指的是什么?VisualFC這個(gè)VS的WTL設(shè)計(jì)插件提供了VS60/2003/2005/2008下的WTL類(lèi)向?qū)?應(yīng)用程序程序向?qū)В?lèi)代碼生成向?qū)В琖TL類(lèi)向?qū)Чδ芟喈?dāng)于VS60的MFC Class Wizard,包括Message,Notify,Command,DialogResize,DDX/DDV,UpdateUI,DialogFont的完全支持。另外如果不考慮VS60,也可以選擇WTLHelper。