| 3 |
interface |
interface |
| 4 |
|
|
| 5 |
uses |
uses |
| 6 |
Windows, Classes, SysUtils, |
Windows, Classes, SysUtils, Menus, |
| 7 |
IdHTTP, IdComponent, IdGlobal, IdException, |
IdHTTP, IdComponent, IdGlobal, IdException, |
| 8 |
AbonUnit; |
AbonUnit; |
| 9 |
|
|
| 15 |
// 指定した URL をこのプラグインで受け付けるかどうか |
// 指定した URL をこのプラグインで受け付けるかどうか |
| 16 |
TAcceptType = (atNoAccept, atBBS, atBoard, atThread); |
TAcceptType = (atNoAccept, atBBS, atBoard, atThread); |
| 17 |
|
|
| 18 |
|
// メニューハンドラ |
| 19 |
|
TMenuHandler = procedure( |
| 20 |
|
inHandle : HMENU // メニューハンドル |
| 21 |
|
); stdcall; |
| 22 |
|
|
| 23 |
|
// ************************************************************************* |
| 24 |
|
// プラグインが(正しく)ロードされた |
| 25 |
|
// ************************************************************************* |
| 26 |
|
TOnLoad = procedure ( |
| 27 |
|
inInstance : DWORD // プラグインのインスタンス |
| 28 |
|
); stdcall; |
| 29 |
|
|
| 30 |
// ************************************************************************* |
// ************************************************************************* |
| 31 |
// プラグインのバージョン |
// プラグインのバージョン |
| 32 |
// ************************************************************************* |
// ************************************************************************* |
| 46 |
): TAcceptType; stdcall; // URL の種類 |
): TAcceptType; stdcall; // URL の種類 |
| 47 |
|
|
| 48 |
// ************************************************************************* |
// ************************************************************************* |
| 49 |
|
// メニューハンドラ |
| 50 |
|
// ************************************************************************* |
| 51 |
|
TOnPlugInMenu = procedure( |
| 52 |
|
inInstance : DWORD // メニューハンドル |
| 53 |
|
); stdcall; |
| 54 |
|
|
| 55 |
|
// ************************************************************************* |
| 56 |
// スレ一覧の URL からスレッドの URL を導き出す |
// スレ一覧の URL からスレッドの URL を導き出す |
| 57 |
// ************************************************************************* |
// ************************************************************************* |
| 58 |
TOnListURL2ThreadURL = function( |
TOnListURL2ThreadURL = function( |
| 448 |
|
|
| 449 |
end; |
end; |
| 450 |
|
|
| 451 |
|
// ************************************************************************* |
| 452 |
|
// プラグインメニューに項目を追加 |
| 453 |
|
// ************************************************************************* |
| 454 |
|
function AddPlugInMenu( |
| 455 |
|
inInstance : DWORD; // プラグインのインスタンス |
| 456 |
|
inCaption : PChar // メニューに表示する文字列 |
| 457 |
|
) : HMENU; stdcall; // メニューハンドル、追加に失敗した場合は NULL |
| 458 |
|
var |
| 459 |
|
newItem : TMenuItem; |
| 460 |
|
begin |
| 461 |
|
|
| 462 |
|
try |
| 463 |
|
newItem := TMenuItem.Create( nil ); |
| 464 |
|
newItem.Caption := inCaption; |
| 465 |
|
newItem.Tag := inInstance; |
| 466 |
|
newItem.OnClick := GikoForm.OnPlugInMenuItem; |
| 467 |
|
GikoForm.PlugInMenu.Add( newItem ); |
| 468 |
|
|
| 469 |
|
Result := newItem.Handle; |
| 470 |
|
except |
| 471 |
|
Result := 0; |
| 472 |
|
end; |
| 473 |
|
|
| 474 |
|
end; |
| 475 |
|
|
| 476 |
|
// ************************************************************************* |
| 477 |
|
// プラグインメニューから項目を削除 |
| 478 |
|
// ************************************************************************* |
| 479 |
|
procedure RemovePlugInMenu( |
| 480 |
|
inHandle : HMENU // メニューハンドル |
| 481 |
|
); stdcall; |
| 482 |
|
var |
| 483 |
|
i : Integer; |
| 484 |
|
begin |
| 485 |
|
|
| 486 |
|
for i := GikoForm.PlugInMenu.Count - 1 downto 0 do begin |
| 487 |
|
if GikoForm.PlugInMenu.Items[ i ].Handle = inHandle then begin |
| 488 |
|
GikoForm.PlugInMenu.Delete( i ); |
| 489 |
|
Break; |
| 490 |
|
end; |
| 491 |
|
end; |
| 492 |
|
|
| 493 |
|
end; |
| 494 |
|
|
| 495 |
exports |
exports |
| 496 |
CreateResultString, |
CreateResultString, |
| 497 |
DisposeResultString, |
DisposeResultString, |
| 502 |
InternalPost, |
InternalPost, |
| 503 |
InternalAbon, |
InternalAbon, |
| 504 |
InternalAbonForOne, |
InternalAbonForOne, |
| 505 |
InternalDat2HTML; |
InternalDat2HTML, |
| 506 |
|
AddPlugInMenu, |
| 507 |
|
RemovePlugInMenu; |
| 508 |
|
|
| 509 |
end. |
end. |