初めて利用させていただきます。くるりというものです。
プログラマー暦半年の初心者ですが、自営業で小料理屋をしている母のために簡単な従業員の給料計算システムを作っています。
SDI形式のプログラムでメニューから選んだページに表示を切替えさせる方法を教えて下さい。
ページは全てCFormViewクラスで生成しています。
(余談ですがこの周りの方法は全くわからないので、今は大元のソースで
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CKyuryoCalcDoc),
RUNTIME_CLASS(CMainFrame), // メイン SDI フレーム ウィンドウ
RUNTIME_CLASS(CKyuryoCalcView)); ------①
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
上記の①の部分をテストしたいページのクラス名に変えて各ページのテストを行っている有り様です。。。)
あと、これはついでですが、ツールバーにコンボボックスを追加する方法も教えていただけると嬉しいです。
使っているOSはWindowsXPで、ソフトは.NET2003です。
[VC50] 複数のビューを切り替え表示する SDI サンプル
http://support.microsoft.com/default.aspx?scid=kb;ja;JP141334
> あと、これはついでですが、ツールバーにコンボボックスを追加する方法も教えていただけると嬉しいです。
こちらについては、詳しくないですが、
ダイアログバーとかを使うのかも。
ありがとうございます。
教えていただいたサイトですが、いまいちよくわかりませんでした。
サンプルコードの
CView* pNewView = m_pViews[nIndex];
この部分ですが、m_pViews[nIndex]には何が入るのでしょうか?
> この部分ですが、m_pViews[nIndex]には何が入るのでしょうか?
表示したいViewへのポインタです。
同ページに全てのファイルを納めたファイルが置いてありますが、
それをご覧になった上での質問でしょうか?
ごめんなさい。ちゃんと見ていませんでした。。。すみませんでした。
載っていた方法と同じようにプログラムを作ってみたのですが、
CView* m_pViews[3]; (.h)
m_pViews[0] = (CView*) new CKyuryoCalc; (.cpp)
次のようなエラーが出てきました。原因として何が考えられますか?
error C2248: 'CKyuryoCalc::CKyuryoCalc' : protected メンバ (クラス 'CKyuryoCalc' で宣言されている)にアクセスできません。
エラー・メッセージの通り。
「コンストラクタが(protectedなので)呼べない」
と言うてます。
そして私の旅は「コンストラクタとは何だーー!?」から再出発し、
ヘルプを参照しても意味がよくわからず、
とりあえずヘッダーのprotected記述を全てpublicに変えてみるという
かなり邪道な方法でどの部分がコンストラクタを意味するかを割り出すことに成功しました。
ご指導ありがとうございました。
落ち着いてサンプルをよく見ましょう。
FORM1.Hの先頭は、次のようになってます。
class CForm1 : public CFormView
{
DECLARE_DYNCREATE(CForm1)
public:
// Need these public for view switching and initialization
CForm1();
virtual ~CForm1();
ツイート | ![]() |