2014-11-15 121 views
0

我有一個C++程序,我使用borland 5.02運行,它是一個GUI程序。 我需要分析程序及其流程,但問題是我無法找到控件的事件,因爲我正在獲取有關其他C++版本的信息,所以我無法在互聯網上搜索它(FYI,I知道它不是VC++)。 我的按鈕的代碼如下所示:C++:程序版本?

  1. 哪個版本或變種C++我使用:

    的projectname.rc文件

    現在,我的問題是內部

    CONTROL "Output Reports", ID_RUN_BITMAP, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 252, 204, 51, 9 
    

    它?

  2. 我想知道這一點,以便我可以搜索其教程來查找其事件並正確理解代碼。

他們的任何其他IDE是否運行相同的代碼比Borland 5.02更有幫助?

P.S .:由於我是C#.NET程序員,並且一直使用Visual Studio,因此我發現Borland很難使用。

+1

這不是C++。這是一個[Windows資源文件](http://msdn.microsoft.com/en-us/library/windows/desktop/aa380599(v = vs.85).aspx)。 –

回答

3

BC++ 5.02來自野外時代,即使是1998年的C++標準;可用的功能子集的功能令人驚訝,但有許多語法特性。可以編寫與當前編譯器以及BC++ 5.02(甚至BC++ 3.1)等老版本兼容的代碼,但這並不容易。

如果您需要定位16位平臺,那麼使用免費/便宜的Digital Mars C++ compilers(以前稱爲Zortech/Symantec C++)或Open Watcom C++可能會更好。

如果你不這樣做,那麼有很多更容易的選擇。 (gcc 4.8.2/MinGW64-TDM)是非常好的,但如果你需要做GUI開發,那麼你最好試試獲得免費的Borland C++ Builder版本(現在是Embarcadero產品)。 Visual C++ Express是免費的,幾乎和gcc和CLANG一樣好;它的優點是它可以直接與.NET進行交互,這意味着你可以用Visual Basic或其後繼者之一(例如C#)繪製接口,並用C++編寫棘手的,脆弱的代碼,編譯成.NET程序集。

BC++ 4和5使用的框架稱爲OWL(Object Windows Library);它應記錄在owl50.hlp中,該文件應位於BC++安裝的幫助子目錄中。 「關於消息和消息隊列」部分對控制流和消息路由進行了很好的概述。該框架將大多數消息映射到諸如TWindow等類的成員函數,以便很少看到原始窗口消息。在頭文件和資源文件中提到的用戶定義的id應該在聲明響應表的宏調用中重新出現,它應該允許您將對話項與相應類的成員函數相關聯。只是想了一下,跟着你的鼻子。

如果您正在分析的程序不是爲BC++/OWL編寫的,那麼您可能會面臨MFC代碼(因爲BC++ 5.x附帶了Microsoft基礎類的副本)或帶有消息泵的原始Windows API代碼,窗口/對話框程序等。

grep - 或其他一些有用的文本搜索工具 - 應該帶你到任何情況下的有趣景點,如果你從RC文件中搜索魔術ID如ID_RUN_BITMAP