約 6,624,242 件
https://w.atwiki.jp/vip_witches/pages/591.html
17.俺「ストライクウィッチーズぅ?」より偉大なる722のレスから 722 :以下、名無しにかわりましてVIPがお送りします[]:2010/11/04(木) 21 11 29.49 ID LULh3pkc0 ここで簡単wiki編集講座! 1.まずはSS一覧に加えよう SS一覧のページで、このページを編集を選び一番下に俺の名前をいれる。 編集を終了して、俺の名前が書いてあったら成功だ。 2.読むページを作ろう 他の人の完成SSのページで、@メニュー内にある新規ページ作成(その他)から、このページをコピーして編集を選び、入力欄を消して自分のSSをコピペしよう。 文字を青くするとわかりやすいぞ! その後、表示されたページのリンクを保存しておく 3.一覧から読めるようにしよう 手順1のページで編集を選び、読む、と書いて自分の俺の横にそのリンクを貼り付けよう! ただ貼り付けるんじゃなくて、カッコがいるぞ?上の人と同じようにすれば出来るはずだ。 これで最低限は大丈夫。 みんなも是非やってみよう! 間違ってたらごめん 新しくページを作る際は次の手順でGO! ①ページ上部メニュータグ(ブラウザバックの真下辺り)から新規ページ作成を選択 ↓ ②ページ名を記入後、@wikiモードで編集開始 ↓ ③SSの内容をコピペ ↓ ④プレビューで内容を確認後、画像認証を行ってページ登録 ↓ ⑤どうだい、簡単だろう? ちなみに ページ名を付ける際はキチンと確認してから付けるようにしましょう 間違えてつけてしまった際に厄介です 目次があるなら目次ページの名前をを作品名にしてもらえると他の編集の時に楽になります まぁ、これは出来れば、くらいで ページが完成したらメインメニュー以外にSS一覧やヒロイン別索引にも記載を忘れずに! 注意! ページのタイトルを後から変えるのはめんどくさいぞ! ページ保存する前にもう一度チェックしよう! ※でも間違えちゃったときは避難所の「Wiki運営スレッド」で言えば管理人が修正したり削除したりしてくれるからそこまで心配しなくてもいいのよ 勝手に応用編 文字の色を変えたい font(){} ()の中に色を英語で突っ込んで、色を変えたい文字を{}に突っ込むと色が変わります 青の一番ペリーヌペロペロ 既存ページとのリンク作成 [[]] ←この括弧の中に文字、 、ページ名の順で入れるとページ間リンクが作成できます 飽きた、読むの止める これを利用すると一気読みに便利かも…… AA添付 作中でAAを使うけどwikiじゃずれるって人は #aa{ここにAAを記述} {}の中にAAを添付すると綺麗に張れます 従来の代行 ★壁殴り代行始めました★ ムカついたけど壁を殴る筋肉が無い、壁を殴りたいけど殴る壁が無い、そんなときに! 壁殴りで鍛えたスタッフたちが一生懸命あなたの代わりに壁を殴ってくれます! モチロン壁を用意する必要もありません!スタッフがあなたの家の近くの家の壁を無差別に殴りまくります! 1時間\1200~ 24時間営業 年中無休! _ / jjjj _ / タ {!!! _ ヽ、 ,/ ノ ~ `、 \ 壁殴り代行では同時にスタッフも募集しています `、 `ヽ. ∧_∧ , ‐ ` ノ 筋肉に自身のあるそこのアナタ!一緒にお仕事してみませんか? \ `ヽ(´・ω・`)" .ノ/ 壁を殴るだけの簡単なお仕事です! `、ヽ. ``Y" r i. 、 ¥ ノ `、.` -‐´;`ー イ AAプラグイン使用後の代行 ★壁殴り代行始めました★ ムカついたけど壁を殴る筋肉が無い、壁を殴りたいけど殴る壁が無い、そんなときに! 壁殴りで鍛えたスタッフたちが一生懸命あなたの代わりに壁を殴ってくれます! モチロン壁を用意する必要もありません!スタッフがあなたの家の近くの家の壁を無差別に殴りまくります! 1時間\1200~ 24時間営業 年中無休! ∧_∧ (´・ω・`)_.. ッ". -'''" ̄ ̄^ニv..........,、 ,.. -―'''';;]_,゙二二__,,/ _..-''" ゙゙゙̄''ー `'-、 ,,-'"゙゙,゙ニ=ー''''"゙゙シ'"_,゙,゙,,,,,,,_ `'''T゛ \ /_..-'"″ '''^゙>'''"゛ ´ `!、 _..イ'"゛ ./ \ ,..-''''''''''''''ー.., .l / / ./ `゙''‐ .、 \.,,,│ / l 「 l " .`''、 / l゙ i ! .,! . .,! ! ./│ ._/ .ヽ,_, ,│ │ ! .!、 ,, -ー¬'''" ./ .ヽ _.. ‐″ .`'. " `゙''―- ....,,,_ _.../ │ l 丿 .′ ′ .i゙'''゛ `'''r‐―‐'´ ヽ .l _,. .ヽ |, _,,,,,....、 / .‐ , .`'i .`'' .″ ヽ ,,.. . .ヽ. .ン._,,,,,,... .、,`'ー、、 ,. _..l, │ / ヽ .../ ' ゙l、.i ′ ゛ `"´ '"´ ,.ゝ ! .| l/ ‐'│゙.l i ,r'" " l .l ,, 'ソ゛ ` ,i゙.l .\ ‐- ........ ‐' 、 ,r‐'' |, .ヽ _,, イ゛ .'、 / l. | _i,,,...... -----.... ....;;_ / " ....l .ヽ .,/´ .ゝ .ヽ _,,, ‐" l",゙,,...... ---――ー- ....,,,,,,_"'''ー ..,,_ ,L-'゛ ヽ } / / ヽ ` -'" ̄ ̄゛ .!.´ `"'ー ..,゙.\.l .,/ ヽ ゙./ .l .`_,,,,, | /´'i Й /゙''i `'-/ \ ./ _.. -''" ./ | .ゝ′ ! ./ | ゙'l゙ .,/゛ ._,,、l゙ ,| ._,,..........--―¬''''¬- ....,,,,_ .| ヽ ,/ .,..-" . l Excelを使った編集方法 ※注意 この方法は本文にTABを使っている場合、表示がずれる可能性があります 多分いろんな方法があるとおもう(書いてる間にもっと楽そうな方法思いついたし…)けど とりあえず筆者が数回使って実績のある方法を紹介します。 1.編集範囲の全レスをコピーする 2.excelのB列にレス内容をペーストする 例文: ペリーヌ おれの よめ これをコピー→excelへペーストすると↓のようになります。 (ならない場合は…ごめん、環境設定の問題だと思う、がんがれ) A列 B列 C列 1行┃ ┃ペリーヌ ┃ 2行┃ ┃おれの ┃ 3行┃ ┃ ┃ 4行┃ ┃よめ ┃ 3.A列の1行目に以下の条件式をコピペ(あんどは に変換) =IF(B1="",""," font(blue){") 4.A列の1行目から最後の行までオートシェイプ(右下の小さな四角をドラッグして下にひっぱる)する。 するとこんな感じになります。 A列 B列 C列 1行┃ f.. ┃ペリーヌ ┃ 2行┃ f.. ┃おれの ┃ 3行┃ ┃ ┃ 4行┃ f.. ┃よめ ┃ ポイントは、B列に文章がある行だけに条件式が追加されること、です。 5.C列の1行目に以下の条件式をコピペ =IF(A1="","","}") 6.4と同じく最後の行までオートシェイプする。 するとこんな感じになります。 A列 B列 C列 1行┃ f.. ┃ペリーヌ ┃} 2行┃ f.. ┃おれの .┃} 3行┃ ┃ ┃ 4行┃ f.. ┃よめ ┃} 7.全部の内容をメモ帳にコピペする。 するとこんな感じになります。 font(blue){ ペリーヌ } font(blue){ おれの } font(blue){ よめ } 妙に空白が開いているのは、列の境目(セル間)がexcel→メモ帳に移動するときにタブに変換されているからです。 8.タブを取り除くために、メモ帳の置換機能でタブを何もなしに変換すれば、おわり。 excel→メモ帳の変換前に下ごしらえ出来ることは他にもいくつかありますが、そのあたりは割愛します。 他の編集については必要とあらば続記します
https://w.atwiki.jp/sizuokagakusei/pages/18.html
簡単に作れる!wiki更新講座 ここでは、wikiの制作・更新方法を簡単に紹介していきます。 wikiは普通のホームページよりは簡単に作ることができます。HTMLなど、難しいプログラミングの知識は必要ないですからね。しかし、覚えておかないといけないことも少しあります。 よく使う記述法を紹介していきます。 まずは、新規ページの作り方。 左上の「@wikiメニュー」をクリックして、「新規ページ作成」を選んで下さい。 ページ名を入力して、「新規ページ作成」のボタンを押して下さい。その他は触る必要はありません。 そして、ページ内容を記述してページ保存して下さい。 既に作ってあるページの更新の仕方。 左上の「編集」をクリックして、「このページを編集」を選んで下さい。 ページ内容の記述を書き直して、ページ保存して下さい。 具体的な記述方法。 様々な方法がありますが特によく使用するものを紹介。 わざと全角で表記してあります。実際に記述するときは半角で入力して下さい。 リンクの張り方 [[リンク名>URL]] このように表示されます 箇条書き ー(ハイフン)文 このように表示されます 箇条書き(次の階層) ーー(ハイフン2つ)文 あああああこのように表示されます 大見出し アスタリスク1つ 文 このように表示されます 中見出し アスタリスク2つ 文 このように表示されます 小見出し アスタリスク3つ 文 このように表示されます
https://w.atwiki.jp/oreqsw/pages/1452.html
17.俺「ストライクウィッチーズぅ?」より偉大なる722のレスから 722 :以下、名無しにかわりましてVIPがお送りします[]:2010/11/04(木) 21 11 29.49 ID LULh3pkc0 ここで簡単wiki編集講座! 1.まずはSS一覧に加えよう SS一覧のページで、このページを編集を選び一番下に俺の名前をいれる。 編集を終了して、俺の名前が書いてあったら成功だ。 2.読むページを作ろう 他の人の完成SSのページで、@メニュー内にある新規ページ作成(その他)から、このページをコピーして編集を選び、入力欄を消して自分のSSをコピペしよう。 文字を青くするとわかりやすいぞ! その後、表示されたページのリンクを保存しておく 3.一覧から読めるようにしよう 手順1のページで編集を選び、読む、と書いて自分の俺の横にそのリンクを貼り付けよう! ただ貼り付けるんじゃなくて、カッコがいるぞ?上の人と同じようにすれば出来るはずだ。 これで最低限は大丈夫。 みんなも是非やってみよう! 間違ってたらごめん 新しくページを作る際は次の手順でGO! ①ページ上部メニュータグ(ブラウザバックの真下辺り)から新規ページ作成を選択 ↓ ②ページ名を記入後、@wikiモードで編集開始 ↓ ③SSの内容をコピペ ↓ ④プレビューで内容を確認後、画像認証を行ってページ登録 ↓ ⑤どうだい、簡単だろう? ちなみに ページ名を付ける際はキチンと確認してから付けるようにしましょう 間違えてつけてしまった際に厄介です 目次があるなら目次ページの名前をを作品名にしてもらえると他の編集の時に楽になります まぁ、これは出来れば、くらいで ページが完成したらメインメニュー以外にSS一覧やヒロイン別索引にも記載を忘れずに! 注意! ページのタイトルを後から変えるのはめんどくさいぞ! ページ保存する前にもう一度チェックしよう! ※でも間違えちゃったときは避難所の「Wiki運営スレッド」で言えば管理人が修正したり削除したりしてくれるからそこまで心配しなくてもいいのよ 勝手に応用編 文字の色を変えたい font(){} ()の中に色を英語で突っ込んで、色を変えたい文字を{}に突っ込むと色が変わります 青の一番ペリーヌペロペロ 既存ページとのリンク作成 [[]] ←この括弧の中に文字、 、ページ名の順で入れるとページ間リンクが作成できます 飽きた、読むの止める これを利用すると一気読みに便利かも…… AA添付 作中でAAを使うけどwikiじゃずれるって人は #aa{ここにAAを記述} {}の中にAAを添付すると綺麗に張れます 従来の代行 ★壁殴り代行始めました★ ムカついたけど壁を殴る筋肉が無い、壁を殴りたいけど殴る壁が無い、そんなときに! 壁殴りで鍛えたスタッフたちが一生懸命あなたの代わりに壁を殴ってくれます! モチロン壁を用意する必要もありません!スタッフがあなたの家の近くの家の壁を無差別に殴りまくります! 1時間\1200~ 24時間営業 年中無休! _ / jjjj _ / タ {!!! _ ヽ、 ,/ ノ ~ `、 \ 壁殴り代行では同時にスタッフも募集しています `、 `ヽ. ∧_∧ , ‐ ` ノ 筋肉に自身のあるそこのアナタ!一緒にお仕事してみませんか? \ `ヽ(´・ω・`)" .ノ/ 壁を殴るだけの簡単なお仕事です! `、ヽ. ``Y" r i. 、 ¥ ノ `、.` -‐´;`ー イ AAプラグイン使用後の代行 ★壁殴り代行始めました★ ムカついたけど壁を殴る筋肉が無い、壁を殴りたいけど殴る壁が無い、そんなときに! 壁殴りで鍛えたスタッフたちが一生懸命あなたの代わりに壁を殴ってくれます! モチロン壁を用意する必要もありません!スタッフがあなたの家の近くの家の壁を無差別に殴りまくります! 1時間\1200~ 24時間営業 年中無休! ∧_∧ (´・ω・`)_.. ッ". -'''" ̄ ̄^ニv..........,、 ,.. -―'''';;]_,゙二二__,,/ _..-''" ゙゙゙̄''ー `'-、 ,,-'"゙゙,゙ニ=ー''''"゙゙シ'"_,゙,゙,,,,,,,_ `'''T゛ \ /_..-'"″ '''^゙>'''"゛ ´ `!、 _..イ'"゛ ./ \ ,..-''''''''''''''ー.., .l / / ./ `゙''‐ .、 \.,,,│ / l 「 l " .`''、 / l゙ i ! .,! . .,! ! ./│ ._/ .ヽ,_, ,│ │ ! .!、 ,, -ー¬'''" ./ .ヽ _.. ‐″ .`'. " `゙''―- ....,,,_ _.../ │ l 丿 .′ ′ .i゙'''゛ `'''r‐―‐'´ ヽ .l _,. .ヽ |, _,,,,,....、 / .‐ , .`'i .`'' .″ ヽ ,,.. . .ヽ. .ン._,,,,,,... .、,`'ー、、 ,. _..l, │ / ヽ .../ ' ゙l、.i ′ ゛ `"´ '"´ ,.ゝ ! .| l/ ‐'│゙.l i ,r'" " l .l ,, 'ソ゛ ` ,i゙.l .\ ‐- ........ ‐' 、 ,r‐'' |, .ヽ _,, イ゛ .'、 / l. | _i,,,...... -----.... ....;;_ / " ....l .ヽ .,/´ .ゝ .ヽ _,,, ‐" l",゙,,...... ---――ー- ....,,,,,,_"'''ー ..,,_ ,L-'゛ ヽ } / / ヽ ` -'" ̄ ̄゛ .!.´ `"'ー ..,゙.\.l .,/ ヽ ゙./ .l .`_,,,,, | /´'i Й /゙''i `'-/ \ ./ _.. -''" ./ | .ゝ′ ! ./ | ゙'l゙ .,/゛ ._,,、l゙ ,| ._,,..........--―¬''''¬- ....,,,,_ .| ヽ ,/ .,..-" . l Excelを使った編集方法 ※注意 この方法は本文にTABを使っている場合、表示がずれる可能性があります 多分いろんな方法があるとおもう(書いてる間にもっと楽そうな方法思いついたし…)けど とりあえず筆者が数回使って実績のある方法を紹介します。 1.編集範囲の全レスをコピーする 2.excelのB列にレス内容をペーストする 例文: ペリーヌ おれの よめ これをコピー→excelへペーストすると↓のようになります。 (ならない場合は…ごめん、環境設定の問題だと思う、がんがれ) A列 B列 C列 1行┃ ┃ペリーヌ ┃ 2行┃ ┃おれの ┃ 3行┃ ┃ ┃ 4行┃ ┃よめ ┃ 3.A列の1行目に以下の条件式をコピペ(あんどは に変換) =IF(B1="",""," font(blue){") 4.A列の1行目から最後の行までオートシェイプ(右下の小さな四角をドラッグして下にひっぱる)する。 するとこんな感じになります。 A列 B列 C列 1行┃ f.. ┃ペリーヌ ┃ 2行┃ f.. ┃おれの ┃ 3行┃ ┃ ┃ 4行┃ f.. ┃よめ ┃ ポイントは、B列に文章がある行だけに条件式が追加されること、です。 5.C列の1行目に以下の条件式をコピペ =IF(A1="","","}") 6.4と同じく最後の行までオートシェイプする。 するとこんな感じになります。 A列 B列 C列 1行┃ f.. ┃ペリーヌ ┃} 2行┃ f.. ┃おれの .┃} 3行┃ ┃ ┃ 4行┃ f.. ┃よめ ┃} 7.全部の内容をメモ帳にコピペする。 するとこんな感じになります。 font(blue){ ペリーヌ } font(blue){ おれの } font(blue){ よめ } 妙に空白が開いているのは、列の境目(セル間)がexcel→メモ帳に移動するときにタブに変換されているからです。 8.タブを取り除くために、メモ帳の置換機能でタブを何もなしに変換すれば、おわり。 excel→メモ帳の変換前に下ごしらえ出来ることは他にもいくつかありますが、そのあたりは割愛します。 他の編集については必要とあらば続記します
https://w.atwiki.jp/h_session/pages/195.html
初心者である拙僧こと、Embryoが知りうる限りのWikiの操作の仕方を伝授しよう! と、言うことで、何を目標とするかをまずは定めてみよう *目標*WikiにPCデータをアップして必要とする場所へのリンクを張る! Lesson1:新規ページを作る まず、ブラウザ内のWIki画面の左上を見ると@wikiメニューというのがあります。 で、この中の『新規作成』という所を押します すると、『ページ新規作成』という画面になると思います ここで、『新規ページ名』の所に『PC登録ならPC名』 『プレイルール追加ならルール名』を記入 そうそう、使ってるシステム名もページ名にいれるんだよ、「システム/キャラ名」ってな具合さ。 次に、『編集モード選択』だけど、ここで後々の手間を考えて『 アットウィキモード 』というものを選ぶべし! あとはPCデータを貼り付けて『ページを保存』ボタンを押すべし!押すべし!押すべし!(注)保存ボタンの連打は止めましょう Lesson2:リンクを張る! という事で第二の手順を説明しよう! まず、『リンクを張りたいページ』へと飛ぶ! そして、先ほどページを作った時とは違う『このページを編集する』をクリックでス~ で、さっき新規ページを作ったように編集画面になるわけですが ここで、リンクを張りたい行のところへカーソールを移動させて 『[[さっき、ページにつけた名前(まぁ、大概PC名でしょう)]]』と打ち込み『ページを保存』ボタンを抉る様に押すべし!押すべし!押すべし!(注)くどいようですが保存ボタンの連打は止めましょう この半角の括弧が味噌です! 是をつけることで【Wiki内にあるページにリンクを張る】ことができます さて、一連の動作は完了! 試に追加されたはずの自分のPC名前をクリックしてみてください ちゃんとPCデータが表示されれば万事解決! ということですw 余談:この説明はリンクを張りたいページがWikiモードで作成されていることを前提に構築されております もし、Wikiモード以外でリンクを張りたい場合は、ちゃんとURLでリンク先を指定してやることになりますので御注意願います
https://w.atwiki.jp/osinko/pages/104.html
スクロールバーの位置がリセットされてしまうメソッド Focus() パネルのスクロールバーの初期位置の値を設定したい タイマーイベントを利用してスクロールバーを任意の位置へ移動させる <呼び出し側> myTimer.Tick += new EventHandler(TimerEventProcessor); myTimer.Interval = 100; myTimer.Start(); <イベント> //Panel2のスクロールバーを内部ピクチャの中心に合わせる処理 void TimerEventProcessor(object myObject, EventArgs myEventArgs) { myTimer.Stop(); panel2.AutoScrollPosition = new Point( (pictureBox2.Width - panel2.ClientRectangle.Width) / 2, (pictureBox2.Height - panel2.ClientRectangle.Height) / 2); myTimer.Dispose(); } パネルのスクロールバーを動かすヘルプ関数(キー入力などで移動させたい用) /// summary /// スクロールの補助関数 /// /summary /// param name="panel" スクロールさせたいパネルコントロール /param /// param name="x" 加算するX値 /param /// param name="y" 加算するY値 /param void ScrollHelper(ref Panel panel, int x, int y) { panel.AutoScrollPosition = new Point(-panel.AutoScrollPosition.X + x, -panel.AutoScrollPosition.Y + y); }
https://w.atwiki.jp/inclurithm/pages/59.html
擬似スクロールバーを作成する 擬似スクロールバー作成:makeScrollbar 擬似的なスクロールバーを作成するサブルーチンです。 あくまでスクロールバー的な外観を持っているだけで、本物のスクロールバーのように滑らかに動いたりはしません。 サンプル 上のサンプルは以下のコマンドで実行したものです。 Font 8pt Regular #7878ff makeScrollbar 10 1 460 0 20 480
https://w.atwiki.jp/darum/pages/293.html
1.ウィンドウにスクロールバーをつける方法 CreateWindow() の dwStyle に、WS_HSCROLL(垂直)、WS_VSCROLL(水平) を指定する。 2.スクロール範囲の設定 SetScrollInfo()を使用 SCROLLINFO scInfo; ZeroMemory( scInfo, sizeof(SCROLLINFO)); scInfo.cbSize = sizeof(SCROLLINFO); // サイズを必ず渡す scInfo.fMask = SIF_RANGE // nMin, nMaxでスクロール範囲を設定する | SIF_DISABLENOSCROLL // スクロールの必要がないときには、スクロールバーをDISABLEにする(デフォルトは消す) scInfo.nMin = 0; scInfo.nMax = 100; 3.メッセージ通知 WM_HSCROLL (垂直) WM_VSCROLL(水平) lParam スクロールバーがついているウィンドウのハンドル LOWPRD(wParam):通知コード HIWORD(wParam):位置 通知コード一覧 SB_ENDSCROLL Ends scroll. SB_LEFT Scrolls to the upper left. SB_RIGHT Scrolls to the lower right. SB_LINELEFT Scrolls left by one unit. SB_LINERIGHT Scrolls right by one unit. SB_PAGELEFT Scrolls left by the width of the window. SB_PAGERIGHT Scrolls right by the width of the window. SB_THUMBPOSITION The user has dragged the scroll box (thumb) and released the mouse button. The high-order word indicates the position of the scroll box at the end of the drag operation. SB_THUMBTRACK The user is dragging the scroll box. This message is sent repeatedly until the user releases the mouse button. The high-order word indicates the position that the scroll box has been dragged to. ※ 位置の通知は16bit範囲でしか行われない。32bit範囲での値を取得する場合には、以下を使用する。 4.スクロール位置の取得(32bit) WM_HSCROLL, WB_VSCROLLのメッセージ処理中に以下の処理で、移動先の位置が取れる。(通知コードは問わない) SCROLLINFO scCurInfo = {0}; scCurInfo.fMask = SIF_TRACKPOS; scCurInfo.cbSize = sizeof(SCROLLINFO); GetScrollInfo(this- m_hWndMain, SB_HORZ, scCurInfo); // scCurInfo.nTrackPos に移動先の位置が格納される 参考URL:
https://w.atwiki.jp/abwiki/pages/468.html
Win32アプリケーションを新規作成。コモンダイアログを使うをちぇっく 垂直スクロールバーをウインドウに貼る。 すたてっくテキストを貼る。 SCROLLINFO構造体をグローバル領域に定義(MainWnd.sbp内)する。 ' TODO この位置にグローバルな変数、構造体、定数、関数を定義します。Dim scr As SCROLLINFO メインウインドウのイベントハンドらから、Createを記述。SCROLLINFO構造体を 指定してスクロールバーのプロパティを設定。 Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)Dim hscr As HWNDhscr=GetDlgItem(hMainWnd,VScrollBar1)scr.cbSize=SizeOf(SCROLLINFO)scr.fMask=SIF_ALLscr.nMin=0scr.nMax=100scr.nPage=1scr.nPos=45SetScrollInfo(hscr,SB_CTL,scr,TRUE)End Sub メインウインドウのVScrollイベントハンドらをきじゅつ。 Sub MainWnd_VScroll(nScrollCode As Long, nPos As Integer, hwndScrollBar As HWND)Dim hscr As HWNDhscr=GetDlgItem(hMainWnd,VScrollBar1)'VScrollBar1のみのイベント処理If hwndScrollBar=hscr ThenSelect Case nScrollCodeCase SB_THUMBPOSITIONscr.nPos=nPosCase SB_LINEUPscr.nPos--Case SB_LINEDOWNscr.nPos++Case SB_PAGEUPscr.nPos=scr.nPos-5Case SB_PAGEDOWNscr.nPos=scr.nPos+5End SelectSetScrollInfo(hscr,SB_CTL,scr,TRUE)SetWindowText(hlabel,Str$(scr.nPos))End IfEnd Sub 貼り付けたスクロールバーを使う場合のポイントは、SetScrollInfo()の引数に SB_CTLをつかう。scr.fMask=SIF_ALLにする。 複数個のスクロールバーをつかう場合は、ハンドルを得て個別のイベントをしょり する。 ※本来はScrollBar専用のイベントハンドらによって記述する必要性があるが、Project Editorに機能がないので、メインウインドウのスクロールバーのイベントハンドら お利用すると簡単。
https://w.atwiki.jp/parepan/pages/219.html
Gnome Color Chooser (スクロールバーを細くする) デフォルトだと、スクロールバーが太いので細くするために Gnome Color Chooserインスコ sudo apt-get install gnome-color-chooser システム-設定-Gnome Color Chooser Specificタブのスクロールバーをお好みで変更
https://w.atwiki.jp/opengl/pages/171.html
スクロールバーコントロールです。 ウインドウのスクロールバーと違って任意の位置に表示できます。 resource.h #define IDR_MENU1 100 #define ID_EXIT 101 #define ID_SCROLL 104 #define ID_Help 110 #define ID_STATUS 111 #define IDM_END 114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN POPUP File BEGIN MENUITEM Exit , ID_EXIT END MENUITEM Option ID_OPTION MENUITEM ヘルプ , ID_Help END main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #pragma comment(lib, comctl32.lib ) #include GL/freeglut/freeglut.h #include resource.h #include commctrl.h //CreateStatusWindow()のために必要 //FreeGlutのウインドウプロシージャを置き換える為の変数 WNDPROC WndProc=NULL; //元のウィンドウプロシージャ HWND hWnd2=NULL; //ウィンドウハンドル HMENU hMenu=NULL; //メニュー HWND hStatusbar; // ステータスバーのハンドル HINSTANCE hInstance; //インスタンスハンドル #define WIDTH 320 #define HEIGHT 240 //回転用 float anglex = 0.0f; //白 GLfloat white[] = { 1.0, 1.0, 1.0, 1.0 }; static LRESULT ScrollProc(HWND hwnd,int nScrollCode,short nPos,HWND hwndScrollBar){ static int gPos=5; int gMin; int gMax; if(hwndScrollBar!=NULL) { GetScrollRange(hwndScrollBar,SB_CTL, gMin, gMax); switch(nScrollCode) { case SB_LINEDOWN gPos=GetScrollPos(hwndScrollBar,SB_CTL); gPos+=1; if(gPos gMax) gPos=gMax; break; case SB_LINEUP gPos=GetScrollPos(hwndScrollBar,SB_CTL); gPos-=1; if(gPos gMin) gPos=gMin; break; case SB_PAGEUP gPos=GetScrollPos(hwndScrollBar,SB_CTL); gPos-=2; if(gPos gMin) gPos=gMin; break; case SB_PAGEDOWN gPos=GetScrollPos(hwndScrollBar,SB_CTL); gPos+=2; if(gPos gMax) gPos=gMax; break; case SB_THUMBPOSITION gPos=nPos; break; } SetScrollPos(hwndScrollBar,SB_CTL,gPos,TRUE); } return 0; } //置き換えた後のプロシージャ LRESULT CALLBACK WndProc2(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp){ static RECT rcDisp; switch (msg) { case WM_CREATE // コモンコントロールの初期化 InitCommonControls(); break; case WM_COMMAND switch(LOWORD(wp)) { case ID_EXIT PostQuitMessage(0); break; } break; case WM_SIZE GetClientRect(hWnd, rcDisp); SendMessage( hStatusbar, WM_SIZE, wp, lp ); break; case WM_DESTROY exit(0); break; case WM_VSCROLL return ScrollProc(hWnd,LOWORD(wp),HIWORD(wp),(HWND)lp); break; default if(WndProc){ return CallWindowProc(WndProc,hWnd , msg , wp , lp); }else{ return DefWindowProc(hWnd,msg,wp,lp); } } return 0; } //ウィンドウの検索 BOOL CALLBACK enumWindowsProc(HWND hWnd,LPARAM lParam){ HANDLE hModule=(HANDLE)GetWindowLong(hWnd,GWL_HINSTANCE); if(GetModuleHandle(NULL)==hModule){ wchar_t ClassName[256]; GetClassNameW(hWnd,ClassName,sizeof(ClassName)/sizeof(ClassName[0])); if(wcsncmp(ClassName,L FREEGLUT ,wcslen(ClassName))==0){ hWnd2=hWnd; return FALSE; } } return TRUE; } void display(void){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glViewport(0, 0, WIDTH, HEIGHT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0, (double)WIDTH / (double)HEIGHT, 1.0, 1000.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(150.0,150.0,-150.0, 0.0,0.0,0.0, 0.0,1.0,0.0); glMaterialfv(GL_FRONT, GL_DIFFUSE, white); //回転 glRotatef(anglex,1.0f,0.0f,0.0f);//X軸を回転 glutSolidSphere(40.0,16,16); glutSwapBuffers(); } void idle(void){ anglex+=2.0f; Sleep(1); glutPostRedisplay(); } void Init(){ glClearColor(0.3f, 0.3f, 0.3f, 1.0f); glEnable(GL_DEPTH_TEST); //ワイヤーフレーム glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); } bool main(int argc, char *argv[]){ glutInitWindowPosition(100, 100); glutInitWindowSize(WIDTH, HEIGHT); glutInit( argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE); glutCreateWindow( スクロールバー ); //FreeGlutのウインドウハンドルとウインドウプロシージャを置き換える EnumWindows(enumWindowsProc,0); if(hWnd2){ WndProc=(WNDPROC)GetWindowLong(hWnd2,GWL_WNDPROC); SetWindowLong(hWnd2,GWL_WNDPROC,(LONG)WndProc2); }else{ return false; } //メニューを作成 hMenu=LoadMenu(GetModuleHandle(NULL),MAKEINTRESOURCE(IDR_MENU1)); if(hMenu){ SetMenu(hWnd2,hMenu); }else{ return false; } // ステータスバーを作成 hStatusbar = CreateStatusWindowW(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP, L ステータスバー ,hWnd2,ID_STATUS); HINSTANCE hInst = (HINSTANCE)GetWindowLong(hWnd2, GWL_HINSTANCE); HWND hScroll = CreateWindow(L SCROLLBAR ,L ,WS_CHILD|WS_VISIBLE|SBS_VERT, 10,10,40,150,hWnd2,(HMENU)ID_SCROLL,hInst,NULL); SetScrollRange(GetDlgItem(hWnd2,ID_SCROLL),SB_CTL,0,10,TRUE); SetScrollPos(GetDlgItem(hWnd2,ID_SCROLL),SB_CTL,5,TRUE); glutDisplayFunc(display); glutIdleFunc(idle); Init(); glutMainLoop(); return 0; }