【はるるみなもに!】 応援中
の情報が正式に出てますね。
雪の華は公開されてる歌が倖月美和さんになってるってことは倖月さんが出るのは確実かな?
声は春野日和名義なような気がしますが(笑)
一緒にお仕事している、3年目ぐらいの子。ポインタ変数と配列をごっちゃにしてます。
ポインタ変数と配列は同じ型であつかえるようになってるので似てますが、全然別の物です。ちゃんと勉強しましょう。
ちなみに、いままで働いて来たなか一緒に仕事した人で、ポインタ変数と配列とアドレスの関係をちゃんと理解している人って、片手て数えれる程しかいません。プロと言ってもそんなもんです(泣)
ついでですがドラッグ&ドロップって、別にプラグインのウィンドウにでなくて、WZに直接出来たほうが便利だと思う。
というのさださんのご意見(独り言 2002年 3月19日 - 奈良県奈良市某所)。以前、「インターネットショートカットがドロップされたらカーソル位置にそのURLを挿入」というプラグインを作ろうとし(て挫折し)たことがあります。ウィンドウにドロップされたファイル名を取得するのがどうもできなくて……。ベースウィンドウにフックをかけてWM_DROPFILESをつかまえるだけだと思ってたら、テキスト部分にはそもそもそのメッセージが来てないようでした。
簡単に取れると思ってました。取れないですね。OLEのせいか。TEXTにDragAcceptFilesやってもメッセージ来ない(泣)。ファイルマネージャーからだと来るんだろうけど…
ファイルマネージャーで試そうと思ったら、W2Kには入ってない?
このプラグインの対象となる人を考えると「出来たほうがいいな」と思ってたんですけど無理っぽいですね。
OLEをどうこう出来れば出来るんだろうけど。
とは言っても書いたのは結構前なんだけど。ほんとは今まで書いて来たマクロをごちゃまぜにしたマクロ集みたいな形で出すつもりだったんだけど、NKeisenの部分の書き直しが送れてるので、これだけ先に出しちゃう(ぉ
NKeisenで好評だったメニュー位置を好きに選べる方式がちょっとバージョンアップ!メニューバーなしでも、標準のメニューなら表示されるようになりました。
だってそもそも、おいらメニューバー表示してないから、対応しないと困るんだもん(爆)
ちなみにこのマクロ、某有名シェアウェアエディッタにある機能です。昔興味本位で作ってみようと思ったけど、上手く行かなかったもの。なんで上手く行かなかったんだろう。不思議だ…
実はエディッタでマウス使うことは全くないので、おいら自身は使わないものだったり…。マウス野郎の方は便利かもしれませんが。
もちろんプラグインマクロなので登録してお使い下さい。
以下ソース。ぐはっ、preって自動で折り返さへんやん。って当然か。
//{### dblsc.txc for TX-C4.0
// (c) 2002 のさだ
//## 宣言部
//#define DEBUG
#define __DBLSCVER__ "0.0.1"
#include <windows.h>
#pragma multidef+
#include <_idm.h>
#pragma multidef.
#pragma warnsignmismatch-
#pragma warnlosedigit-
#pragma warnfuncnotcall-
#define WM_MOUSEWHEEL 0x020A
#ifdef DEBUG
#include "stdout.txc"
#define DBPRINTF printf
#else
#define DBPRINTF 1 ? 0 : printf
#endif
permanent BOOL p_fMichizure = 1;
textvar BOOL fMichizureNow;
permanent int p_iMichizureMenuPos = 8;
permanent int p_iMichizureMenuPosSub = 7;
static int g_iIdmMichizure = 0;
static txstr g_szMichizure = "次のWZも一緒にスクロール(&X)";
int __prmSave(void){return 1;}int CfgSave(void);
void __pluginGetProperty(mchar* prop, txstr res)
{
if (!stricmp(prop,"name")) res="いっしょにすくろ〜る";
if (!stricmp(prop,"author")) res="のさだ";
if (!stricmp(prop,"version")) res=__DBLSCVER__;
}
void __pluginHelp(TX* text)
{
information(
"メニューをチェックすると、"
"ホイールで次のWZも一緒にスクロール出来るようになります。");
}
//## 設定ダイアログ
void __pluginConfig (TX *text)
{
HDIALOG hd = dialog("いっしょにすくろ〜る");
{
dialogCaption(hd,"メニューの表示位置");
dialogIndent(hd,3);
dialogInteger(hd,"何番目のメニューに表示しますか? ",
30, &p_iMichizureMenuPos, 3);
dialogInteger(hd,"何番目のサブメニューに表示しますか?",
30, &p_iMichizureMenuPosSub, 3);
dialogIndent(hd,-3);
dialogHeadline(hd,"バージョン情報",40);
dialogIndent(hd,3);
dialogCaption(hd,"いっしょにすくろ〜る Version " + __DBLSCVER__);
dialogCaption(hd,"copyright(c) 2002 のさだ");
dialogCaption(hd,"mailto:nosada@post.tok2.com");
dialogIndent(hd,-3);
}
dialogOpen(hd);
}
//## マウスホイール
HOOKRESULT ChengMichizureState(TX *text)
{
text::fMichizureNow = !text::fMichizureNow;
return HOOK_CAPTURE;
}
void hookMouseWheel(TX *text, WPARAM wParam, LPARAM lParam)
{
if (text::fMichizureNow && lParam != 0) {
HWND hwndnextbase = txGetNextEditor(text);
if (hwndnextbase) {
HWND hwndnexttext = FindWindowEx(hwndnextbase, NULL,
"txText", NULL);
if (hwndnexttext) SendMessage(hwndnexttext, WM_MOUSEWHEEL, wParam, 0);
}
}
}
//## メニュー
static int CheckMunuID[] = {
IDM_NEW, IDM_UNDO, IDM_UISEARCH,
IDM_UICONFIG, IDM_UIINSERTCOPY, IDM_UIHEADLINE,
IDM_KEYMACRORECORD, IDM_TILEOVERLAP, IDM_HELP
};
#define SUBMENUNUM (sizeof(CheckMunuID)/sizeof(CheckMunuID[0]))
BOOL CheckSubMenu(TX *text, HMENU hmenu, int menuPos)
{
if (menuPos < 0) return 0;
if (text->fDispMenubar)
return (hmenu == GetSubMenu(GetMenu(text->hwndbase), menuPos));
if (menuPos >= SUBMENUNUM) return 0;
return (CheckMunuID[menuPos] == GetMenuItemID(hmenu, 0));
}
void InitMenuSub(TX *text, HMENU hmenu,
int iMenuPos, BOOL fMenuCheck,
int iIdm, mchar *szMenuName)
{
if (GetMenuState(hmenu, iMenuPos, MF_BYPOSITION) & MF_SEPARATOR) {
DeleteMenu(hmenu, iMenuPos, MF_BYPOSITION);
InsertMenu(hmenu, iMenuPos,
MF_BYPOSITION | (fMenuCheck ? MF_CHECKED : MF_UNCHECKED),
iIdm, szMenuName);
InsertMenu(hmenu, iMenuPos+1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
} else {
InsertMenu(hmenu, iMenuPos,
MF_BYPOSITION | (fMenuCheck ? MF_CHECKED : MF_UNCHECKED),
iIdm, szMenuName);
}
}
void InitMenu(TX *text, HMENU hmenu)
{
DeleteMenu(hmenu, g_iIdmMichizure, MF_BYCOMMAND);
if (p_fMichizure && CheckSubMenu(text, hmenu, p_iMichizureMenuPos-1))
InitMenuSub(text, hmenu, p_iMichizureMenuPosSub-1,
text::fMichizureNow, g_iIdmMichizure, g_szMichizure);
}
//## hook
HOOKRESULT CALLBACK baseHook(HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
TX* text = hwndbaseGetText(hwnd);
switch (message) {
case WM_INITMENUPOPUP: {
InitMenu(text, (HMENU)wParam);
break;
}
}
return HOOK_CONTINUE;
}
HOOKRESULT CALLBACK textHook(HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
TX* text = hwndtextGetText(hwnd);
switch (message) {
case WM_TXEVENT: {
switch (wParam) {
case TXEVENT_IDMEXEC: {
int idm = (int)lParam;
if (idm == g_iIdmMichizure) return ChengMichizureState(text);
break;
}
}
break;
}
case WM_MOUSEWHEEL: {
hookMouseWheel(text, wParam, lParam);
break;
}
}
return HOOK_CONTINUE;
}
void InitMacro(TX *text)
{
if (!g_iIdmMichizure) g_iIdmMichizure = idmRegister();
text::fMichizureNow = 0;
}
void __on_txFrameNew(TX* text)
{
InitMacro(text);
txSetHookWndproctextTxpcode(text, textHook);
txSetHookWndprocbaseTxpcodeTail(text, baseHook);
}
void main{}
#define __prmSave CfgSave
今回はBlackerさん合格おめでとう&MIT合格祈願(嘘)OFFつうことで日本橋へ。
参加者はBlackerさん・うたのらいむさん(PastelCarrot)・おいら、と途中から合流したこーじ☆さん。実はおいらが一番年上ですか(泣)。らいむさんのサーバー機の部品探しをして、マクドでだべり、焼肉食い放題でしめる楽しいOFFでした。またやりましょう。
で日本橋で買ったもの
ちっちゃいキーボードは、殆どmini君のキーボードと大きさも配置も一緒。仕事場のキーボードがでっかすぎるので、そっちで使うために。家で試したらちゃんと動きました。
まりもさんの歳はいくつだろうとの話題が。いくつなんだろう、謎だ…
さんざん悩んだあげく、「まあいいか、関和美さん出てるし」などと言うわけのわからん理由で買って来ました(爆)
メインヒロインがつまらんらしいので、とりあえず真中にやることに決めて、レマから始めることに。
結構面白かったけど、終盤話が長すぎっ!
今週から急に別の仕事を頼まれて、某オープンソースの巨大ブラウザでどうこうしていた仕事は終了。ってかもう一人一緒にやってた子にまかせました。ってかおいらがそう決めたわけじゃないですが。
で次の仕事のためにXPのマシンが2台用意されて、CE.NETのうんたらだったりで、そんな感じ(謎)
なんか、このままMS Windows系のプログラマになりますか?おいらってば。
とりあえず、XPって使いにくいです。2000も結構思ったけど。仕事で使うならNT4が一番いいかな。マイクロソフトの開発者にはキーボードでPCを操作してる人いないんでしょうか?だんだん非道くなっていってる(泣)
W2Kのなんたらなシールがアプリに張られる条件かなんかに、キーボードだけで全ての機能を使えることってのが確かあって、マイクロソフトもなかなか良いこと言うとか思ってた時期もあったけど、全ての機能を使えても使いにくかったら意味ねーんですよ。
そう言えばもちろんXPで正常にコピペ出来ました(謎)
って更新自体はどうでもよくて(マテ)、小鳥たん抱き枕カバーですよ、奥さん(ぉ
いや実は抱き枕カバーもどうでもいいんですが、小鳥たんからのご挨拶って、とらハ1の小鳥たんの声じゃないですか。まじですか。しかも抱き枕カバーのおまけが…
おまけCDだけで安く売ってくれないかな(爆)
とここまで書いた時点で聞き直したら違うような気がして来た。
しっかし夏コミまで待ってくれてもいいじゃないですか、金ないのに…
木葉楓さんのメイドさんハァハァ(ォ ワラタ、確かに似てる(笑)
D.C.の体験版がダウンロード出来るようになってます。先月末に各雑誌に載ってたやつっすね。
らしい。寂しいYO!(泣)
は〜い。いや、普段そういうのあんまり気にしないんだけど、いったん話題になってしまうとちょっと気になってしまって。
寝なきゃ明日つらいので寝たいのだが。
ついにおいらの机の上に3台目のPCが…。さすがにディスプレイ3台は圧迫感あるよ。ちなみに3台目はRed Hat 7.1
せまいせまいと評判の日本橋のげっちゅ屋ですが、秋葉のより広いような気がします…
しっかし客入ってないです。ほんとに。大丈夫か?
金曜日発売直後に発禁回収になった某ゲーム、奈良では日曜日に普通に売ってました。やっぱり奈良って田舎だ…
買い占めてヤフオクとかちょっとだけ考えた。ちょっとだけっすよ。
Yamagiwaの閉店セール行ったころには、もうろくなもんが残ってなかった。土曜の朝ぐらいに行けば掘り出し物があったんだろうか。
でお買物
今回の鷹城唯子に対するあなたの評価は 193.2/200
AAAランク(最高評価)です。
- 総評 -
もう我慢できないほど「鷹城唯子」が好きです。 萌え〜〜! どうしようもないくらいに鷹城唯子が好きです。 吠え〜! それでも鷹城唯子が好きです。 ううぉぉおおぅおう〜 もう手がつけられませ〜ん...(笑)
カテゴリー別 (50点満点)
理想キャラクター 48.9
ルックス 45.8
スタイル 48.1
恋感情 49.0
プラトニックラブ 49.6
性的感情 47.3
あなたの鷹城唯子に対する評価は 「一万円均一」型と診断されました。 1000円均一より価値あります
あなたは1000人中 25番目の鷹城唯子萌えです
25番か…