目前共有7篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:不轉換▼
 
點擊 回復
244 6
其實,無論是什麼編程語言,要想製作Windows窗口程序
一派掌門 二十級
1樓 發表于:2015-4-4 11:10
都是要想辦法調用Windows API
一派掌門 二十級
2樓 發表于:2015-4-4 11:11
而MFC,Windows Forms,還有QT什麼的,都是框架而已。
 
一派掌門 二十級
3樓 發表于:2015-4-4 15:13
在Windows系統中,C++調用Windows API顯示窗口的程序很複雜。需要創建窗口類,註冊窗口類,通知Windows顯示窗口。而在Linux系統下,只需要調用幾個GTK函數就能顯示窗口了,不到10行代碼。
 
一派掌門 二十級
4樓 發表于:2015-4-4 15:17
#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *label;
    gtk_init (&argc, &argv);
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title (GTK_WINDOW (window), "Hello World");
    g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
    label = gtk_label_new ("Hello, World");
    gtk_container_add (GTK_CONTAINER (window), label);
    gtk_widget_show_all (window);
    gtk_main ();
    return 0;
}
這是C語言調用gtk函數庫顯示窗口的代碼。這個只能在Linux下運行。
代碼行數比調用Windows API的少了幾十行呢
 
一派掌門 二十級
5樓 發表于:2015-4-5 17:58
可以寫一個C++程序調用MsgBox函數,代碼可以只有十幾行
 
一派掌門 二十級
6樓 發表于:2015-10-30 21:38
在Windows XP下,用Visual C++ 6.0打開記事本notepad.exe,或者畫圖mspaint.exe,或者資源管理器explorer.exe,都可以看到rc資源文件,裡面有24資源(用於啟用XP風格),以及各種對話框和圖標。打開自己寫的MFC程序的exe文件也是同樣的效果。但是用VC++6打開其他語言寫的程序,比如C#的Windows Forms,VB生成的程序就不能看到資源文件,甚至根本就打不開。而且VB6生成的exe文件很難擁有XP風格的控件。
其實,無論用什麼編程語言編寫Windows窗口程序,編譯后都要生成機器代碼,即便是C++也是這樣,MFC也是這樣。這些機器代碼都要調用Windows API來創建、註冊并顯示窗口。這些窗口以及其中的控件可能是直接讀取的rc資源文件,也可能是編寫的代碼動態創建了這些控件(也就是不用rc資源文件)。因此,我覺得,用其他語言編寫的程序,肯定沒有用到rc文件,而是控件是由生成的機器代碼在程序運行時通知Windows動態創建的,所以才會出現用VC++6打開exe文件后無法讀取rc資源的現象。
 
一派掌門 二十級
7樓 發表于:2015-10-30 21:52

這是用VC++6打開Windows XP自帶的記事本exe程序的效果。圖中畫紅圈的地方是24資源,該資源用於啟用程序界面的XP控件風格。
 

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:244 回複數:6
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2015-10-30 21:52
 
©2010-2025 Purasbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。