0
好吧,如果我不能在對話框寫的OnInit期間:Visual Studio 2008的C++編寫的對話OnInit的過程中或在啓動時
不能使用在OnInitDialog函數SSTextOut()() 。在顯示對話框之前調用OnInitDialog(),所以你不能在它內部獲得一個有效的CDC(因爲對話框尚未繪製)。
從它的外觀來看,SSTextOut()意味着從OnPaint()覆蓋中調用。
有沒有什麼辦法可以在啓動時向第一個對話框中寫入一些文本。我想在程序控制下的對話框屏幕上放一些信息,而不是靜態文本!
SSTextOut不起作用,因爲您需要pDC-> SSTextOut,我無法獲得。但是,我放了一個編輯框,並使用下面的代碼寫入它:CEdit * Display; Display = reinterpret_cast(GetDlgItem(IDC_LC_EDITBX)); Display-> SetWindowText(「文字處理」);的UpdateData(FALSE);現在我需要編輯編輯框,所以你看不到它,所以你看到的就是我放的文本!謝謝 –
user299391
2010-03-26 12:19:01
你可以使用'pDC-> TextOut(x,y,「Your Text」);'。或者,您可以將編輯控件設置爲沒有邊框(或使用靜態控件,但將其ID設置爲IDC_STATIC以外的內容,並以同樣的方式寫入 - 以防止用戶進行編輯(即使意外) 。你並不需要'reinterpret_cast'和'GetDlgItem' - 將一個CEdit成員變量提前與該項目關聯會更容易。 – 2010-03-26 16:17:53