雑記」カテゴリーアーカイブ

大学のサークル関係で鬼怒川温泉旅行行ってきましたとさ。

ども。くそ久しぶりだったりそうじゃなかったり。
えーと、Mimura です。

 

8月2日から2泊3日。鬼怒川温泉ホテルですかね。
そこに泊まってたのしくまーまー。やってきたわけで。

 

えと、著作権やら肖像権やら、
なにやらとにかく面倒くさい法律がありますんで、
景色以外の写真は顔を塗りつぶしたりします。うん。

はっきりした写真は、問題なさそうな人には、
問題なさそうなやつだけ、連絡があれば送るかも。です。
要検討ってなわけです。

 

image

楽しいバス旅行なのであります。

 

初日。

image 
どことは言わない。どことは言わないけど、
ビール工場行ってきました。

 

それでもって、
麦をかじってみたり、ホップのにおいをかいでみたり。
とりあえず、麦と草でした。うん。そう言うと怒られるんかな。

 

そうそう。なんかここのビール会社のロゴには、
なんだか自社の名前がカタカナで入っているとか。
・・・。うん。試飲とかやってましたけど、
全く飲みませんでしたよ。うん。だって。未成年だもの。

 

その晩。
6人部屋だった気がしたんだけど、気付くと7人だったりで。
いや、幽霊ではなく。

7人部屋で、フロントから電源タップを借りてきて、
PC部屋にして、とっても楽しく過ごしました。うん。えーとうん。それだけ。

 

ああ、何か追記するとすれば、あれだ。
風呂っていいですね。風呂。疲れがとれます・・。とれますが、
入るメンバーを考慮しないと。ということを、内心感じました。

気を遣わないメンバーで入るのがいいですよ。やっぱり。

ISIC カード取得しました。

ども。Mimura です。 国際的に学生になりました。

 

つい先週の土曜日。
生協の窓口に果物ナイフを突きつけて、「ISICカードの申し込み証を作るんだ!」 と。

 

・・嘘です。 ちゃんと申し込み証を書いて、「あ、じゃあ、これでよろしくお願いします!」 と。
そんな感じで取得してきました。

 

ISIC

ISIC カードってのはこんなん。
大学名と生年月日は既にブログで漏らしてるから問題ないよね。
有効期間は、投稿日時から逆算できるのでいいよね!

 

・・顔写真とISICの番号、および実名は伏せます。うん。

 

とりあえず、これで国際的な学割が効きます。
また、学生証忘れても、これ持っていれば学生になります。おいしい世の中です。(ぇ

 

とりあえず。これでなにやったか。
DreamSpark (http://www.dreamspark.com) にアクセスして、
Microsoft 社製品をダウンロードしまくりました。はい。 たぶん使いこなせないです。

 

そのなかの Windows Server 2008 R2 について。
なんでも Win7 と同じコードからできてるようで。

 

01

こねこねした結果がこれ。 まんま Win7 じゃん。

 

03

でも、ちゃんとサーバです。

 

 

04

でもなんか再アクティベーション回数が制限されているとかいないとか。
あと、やっぱりサーバ向けだなー。って思うようなカスタマイズが施されているので、
なんだかとっても居心地が悪く。 Win7 の操作性も今のところなれていなかったり。

 

起動時間比較したら、 Win Vista と同じじゃん! と思ったので。 さーて。何のために使おうか。と。
・・64bit なのは魅力ですけどね! サーバの Linux アンインストールしてこれインストールしようかと。

 

・・思ったけどLinux が楽です。はい。

 

 

ではではー。そんな感じで。

なのはな体操 MML Ver. あーあ。

やってはみたんです。やってはみたんですが、

MML@
t120r2l8rg>ede2efgf2&ffede2&ecded2&dr<g>ede2efgf2&ffede2&ecded2refga2&
arbb+g2&g4b+4gf2&fgfe2refga2&arbb+g2&g4b4ga2ab>cd2.&d16r.<<gl16arg8ab+
8ar4.>d+4d8c8<a8g4g+4arg8ab+8ar4.>d4l8deeffggl16<arg8ab+8ar4.>d+4d8c8<
a8g4g+4arg8ab+8ar4.>d4l8deefff+g2&gdefe2refgf2rfgag2r4<g>ede2efgf2&ffe
de2&ecded2&dr<g>ede2efgf2&ffede2&ecded2refga2&arbb+g2&g4b+4gf2&fgfe2re
fga2&arbb+g2&g4b4ga2ab>cd2.&d16r.<<gl16arg8ab+8ar4.>d+4d8c8<a8g4g+4arg
8ab+8ar4.>d2l8refga2&arbb+g2&g4b+4gf2&fgfe2refga2&arbb+g2&g4b4ga2ab>cd
2&dr<<g>ede2efgf2&ffede2&ecded2&dr<g>ede2efgf2&ffede2&ecded1rc4c4<a+a+
a+b+4a+a+>c2
,
,
;

 

なんともまぁ、とってもとっても残念な結果に。

ベースラインとか不足している部分を付け加えて頂ける、
心優しい方がいらっしゃったらうれしいです。はい。

 

http://mabimml.modev.jp/index.cgi?sep=14870

 

再生につきましては、

マビノギ MML作曲ツール 3ML EDITOR 2 Webpage
3ML Editor 2 を利用することが出来ます。

 

 

・・・自作のソフトだと、MML to System Speaker なんてのもあります。
http://mimumimu.net/software/#systemmml
(公的な場所とかでこのソフトを使う場合、出力先を[MIDI Mapper] に変更することをお忘れ無く)

・・とっても不完全な再生をしますけどねw

今日は謎に特別やりたいことが無かったので。

image

千葉 (帝国) 県民の心を入力してました (?)

 

えと、「なのはな体操」です。うん。

 

千葉県民は誰しもが知っている はず の体操です。
何しろ、運動会やら何やらの準備体操として行われましたから。

 

もっと言えば、私の場合、
小学校の時に体育委員を(超運動音痴なのにもかかわらず)やりまして。
「おぃ、この授業は抜けていいから練習しろ!」 なんて謎なことを言われたものです。

 

まぁ、そんなこんなで、かなり思い出深いやつです。
それで、今日はACID で 曲を小節ごとに分けて聞いて、
3ML EDITOR を使って入力しました。 ああ。今思えばなんてバカなことを。

 

携帯の着信音にしてしまおうかなぁ。と検討中。 ・・。いや、全く持って何を考えているんでしょう。

続きを読む

Vista 以降で CFileDialog において SetTemplate が使えない場合の代替方法

Mimura です。
先ほど、STEP_M 1.053 をリリースしました。

 

今回のネックは CFileDialog において Vista 以降の新しいファイルダイアログでは、
SetTemplate が使用できないことでした。

 

そこで、私もこの情報を見つけるまでにかなり時間がかかりましたので、
メモとして、また同じ悩みを抱えている人に有用な物となればいいかなと思います。

 

(あらかじめ断っておきますと、あんまりMFC を使いたくない人です。私。)

 

 

SetTemplate を使用する場合、大体が以下のようなコードとなっていると思います。

CMyFileDialog::CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
        DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
        CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
    SetTemplate(0, IDD_CUSTOM_FILE_OPEN);
}

(STEP_M ソースコード MyFileDialog.cpp より)

XP,2000 ではこのコードで通りますが、

Vista, 7 では「サポートされていない機能を実行しようとしました。」
というエラーダイアログが表示されてしまいます。

 

 

そこで考えたくなるのが、Vista 以降のOSで SetTemplate を使う方法ですが、
現時点ではあきらめた方がいいと思います。

 

Visual C++ Team Blog  Vista-style File Dialogs with MFC
Microsoft 社の Visual C++ Team のブログでも、

the new Vista dialogs no longer supports hwnd template customization, your CFileDialog object will throw CNotSupportedException if SetTemplate is called on it. 

適当訳:[英語苦手なので、あまりにも訳が違っていたら指摘お願いします]
Vista の新しいダイアログは、テンプレートによるカスタマイズには対応しません。SetTemplate を CFileDialog で呼び出したら、CNotSupportedException をスローするよー。

というようなことが書かれています。

 

 

それではどうするかですが、
Vista 以降のダイアログにはそれの為の弄る方法が用意されています。

 

CMyFileDialog::CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
        DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
        CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{

    IFileDialogCustomize* custom;
    custom = this->GetIFileDialogCustomize();
    if(custom != NULL){
            // チェックボックスを追加する場合は以下のように。
            custom->AddCheckButton(IDC_CH_FILE_ADDPEND,L"ボタンのついか。",false);
        }
        custom->Release();
    }
}

 

抜粋して書きますと上記のようになります。

this->GetIFileDialogCustomize();

で IFileDialogCustomize のインスタンスを取得し、
custom->Add****

によって、ボタンやエディットボックス、ラベルやらを追加していきます。

なお、IFileDialogCustomize 系は、WINVER が 0x0600 以上でないと利用できません。
StdAfx.h 等で設定している方はご注意下さい。

 

設置した内容を取得する場合、上記の例のサンプルで行きますと、

 

IFileDialogCustomize* custom;
custom = this->GetIFileDialogCustomize();
custom->GetCheckButtonState(IDC_CH_FILE_ADDPEND,&checkstate);
custom->Release();

 

上記にありますように、
custom->Get****

によって、値を取得します。

 

どのような命令があるか、また、オブジェクトが使えるかということにつきましては、

IFileDialogCustomize Interface (Windows)
上記リンクを参照して下さい。

 

最後に、XP,2000 上でも、Vista 以降のWindows でも、両方で動くようにするソースですが、

CMyFileDialog::CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
        DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
        CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
    IFileDialogCustomize* custom;
    custom = NULL;
    TRY {
        // Legacy OS [ – Windows XP]
        SetTemplate(0,IDC_CH_FILE_ADDPEND);
    } CATCH (CNotSupportedException,e){
        // New OS [ Windows Vista – ]
        custom = this->GetIFileDialogCustomize();
        if(custom != NULL){
            custom->AddCheckButton(IDC_CH_FILE_ADDPEND,L"ちぇっく。",false);
        }
        custom->Release();
    }
    END_CATCH
}

(STEP_M ソースコード MyFileDialog.cpp より)

というような、上記のコードはいかがでしょうか。
MFC 上では try – catch 構文は使えないらしく、TRY – CATCH – END_CATCH を使うようです。

そこで、まずは SetTemplate を動かし、
非対応エラー(CNotSupportedException) が発生してしまったら、
Vista 以降の IFileDialogCustomize を用いたカスタマイズを行う。という形です。

 

 

開発のご参考になりましたら幸いです。