[C++] 232 FLTK : ハイパーリンクの代替手段検討

[M1 Mac, Big Sur 11.7.2, clang 13.0.0, FLTK 3.8.1, NO IDE]

ダイアログ内のテキストから外部サイトへハイパーリンクさせたかったのですが難易度が高いため、Menuからの選択でコールバック関数によりリンク先がブラウザで開くようにしました。

Fl_Menu_ItemでHelpメニューを設定すると自動的にMacOSのHelp内を検索する窓が出現しました。これは不要なのでHelpをHELPに一時的に変更しています。検索窓が出ない方法が分かり次第、Helpに戻すつもりです。

今になって思い浮かんだのですが、テキスト部分をFl_Buttonにて枠なしで作成し前後に文字列をくっ付ければハイパーリンク風にできなくもないですね。

Helpの場合
HELPの場合
static Fl_Menu_Item	items[] = {
        { "★", 0, 0, 0, FL_SUBMENU },
        { "読込", 0, loadFavList, 0, 0 },
        { "保存", 0, 0, 0, FL_SUBMENU },
        { "名前を付けて保存", 0, saveFavList, 0, 0 },
        { "自動保存", 0, saveFavListAuto, 0, 0 },
        { 0 },
        { "消去", 0, deleteFavList, 0, 0 },
        { 0 },
        { "履歴", 0, 0, 0, FL_SUBMENU },
        { "消去", 0, deleteHistory, 0, 0 },
        { 0 },
        { "HELP", 0, 0, 0, FL_SUBMENU },
        { "Website", 0, openWebsite, 0, 0 },
        { 0 },
    #ifdef DEV
        { "開発", 0, 0, 0, FL_SUBMENU },
        { "開発モード", 0, showSubWindow, 0, 0 },
        { 0 },
        { 0 }
    #else
        { 0 },
    #endif
    };
void openWebsite(Fl_Widget*, void*){
    string cmd = "open \"リンク先のURL\"";
    system(cmd.c_str());
}