USER_RESIZED = WM_USER + 2001;
USER_MINIMIZED = WM_USER + 2002;
USER_SETLINKBAR = WM_USER + 2003;
+ USER_DOCUMENTCOMPLETE = WM_USER + 2004; ///< wParam : TWebBrowser
SELECTTIME_INTERBAL = 110;
BROWSER_COUNT = 5; //\83u\83\89\83E\83U\82Ì\90\94
Shift: TShiftState);
var
pos : TPoint;
- rect : TRect;
begin
if GetActiveList is TBoard then begin
case Key of
\90³\82µ\82¢\83J\83\89\83\80\82ª\93n\82³\82ê\82È\82¢\82½\82ß\81A\90³\82µ\82¢\83J\83\89\83\80\82É\95Ï\8a·\82µ\82Ü\82·\81B
*}
function TGikoForm.ActiveListTrueColumn( column : TListColumn ) : TListColumn;
+{*
var
i, idx : Integer;
orderList : TList;
+*}
begin
// \90³\82µ\82\95Ï\8a·\82·\82é\95û\96@\82ª\95ª\82©\82ç\82È\82¢\82Ì\82Å\95Û\97¯
GikoSys.Setting.BoardSortIndex := id;
GikoSys.Setting.BoardSortOrder := FSortOrder;
wkBoard.CustomSort(ThreadItemSortProc);
+ end else begin
+ id := 0;
end;
ListView.Refresh;
s: string;
// OldCursor: TCursor;
i: Integer;
- url: OleVariant;
idx: Integer;
ThreadItem: TThreadItem;
Thread: TBrowserRecord;
ThreadScrollTop: Integer;
ThreadIsLog, ThreadUnRead, ThreadNewArraical: boolean;
begin
+ AddMessageList('SetContent', nil, gmiWhat);
Thread := inThread;
idx := BrowserTab.TabIndex;
if (FActiveContent <> nil) and
Self.Caption := CAPTION_NAME + ' - [' + ThreadTitle + ']';
//Thread.Repaint\82Í\81A\83X\83L\83\93\93\99\82Ì\90Ý\92è\82ð\95Ï\8dX\82µ\82½\82Æ\82«\81AThread\82ð\83_\83E\83\93\83\8d\81[\83h\82µ\82½\82Æ\82«
//\90V\8bK\82ÉThread\82ð\8aJ\82¢\82½\82Æ\82«\82É\90^\82É\82È\82Á\82Ä\82¢\82é\81B
-// if(Thread.Repaint) or (Thread.OnlyHundred <> GikoSys.OnlyAHundredRes)then begin
if Thread.Repaint then begin
//Thread.LastSize := ThreadItem.Size;
Thread.Repaint := false;
- try
- Thread.Browser.OnStatusTextChange := nil;
- doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
- GikoSys.CreateHTML2(doc, ThreadItem, sTitle);
-
- // if (Assigned(Thread.Browser)) and (Thread.Browser <> nil) then
- Thread.Browser.OnStatusTextChange := BrowserStatusTextChange;
- //\82È\82º\82©\82±\82±\82Å\96¾\8e¦\93I\82ÉDocumentComplete\82ð\8cÄ\82Î\82È\82¢\82Æ\82¤\82Ü\82\82¢\82©\82È\82¢
- //\92Ç\8bL\81@200406/19
- //Visible\82Ì\82Æ\82«\82µ\82©DocumentComplete\82Í\8cÄ\82Î\82ê\82È\82¢\82ç\82µ\82¢
- Thread.FBrowser.OnDocumentComplete(Thread.FBrowser, Thread.FBrowser.Parent, url);
-// Thread.OnlyHundred := GikoSys.OnlyAHundredRes;
- Application.ProcessMessages;
- //\82±\82±\82ÅApplication.ProcessMessages\82ð\8cÄ\82Ô\82±\82Æ\82É\82æ\82Á\82ÄWebBrowser\82ð\8dX\90V\82³\82¹\82é\81B
- //\91\8a\82µ\82È\82¢\82Æ\88ê\89æ\96Ê\95ª\82µ\82©\95`\89æ\82Å\82«\82Ä\82È\82¢\82Ì\82Å\82»\82ê\88È\8fã\82Ì\83X\83N\83\8d\81[\83\8b\97Ê\82ð\8ew\92è\82µ\82Ä\82à\96³\8cø\82É\82È\82é
- //\81@by\82à\82¶\82ã(2004/01/20)
- try
- //if (Assigned(Thread)) and (Assigned(ThreadItem))then begin
- if(Thread <> nil) and (ThreadItem <>nil) then begin
- if ThreadUnRead then
- BrowserMovement('new', Thread)
- else if ThreadScrollTop <> 0 then begin
- try
- doc.Body.ScrollTop := ThreadScrollTop;
- except
- on E: Exception do
- MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
- end;
- end;
- // end;
- end else begin
- FActiveContent := nil;
- BrowserTab.Repaint;
- Exit;
- end;
- except
- FActiveContent := nil;
- BrowserTab.Repaint;
- Exit;
- end;
- finally
- // Application.ProcessMessages;
+
+ Thread.Browser.OnStatusTextChange := nil;
+ doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
+ GikoSys.CreateHTML2(doc, ThreadItem, sTitle);
+ Thread.Browser.OnStatusTextChange := BrowserStatusTextChange;
+
+ PostMessage( Handle, USER_DOCUMENTCOMPLETE, Integer( Thread.Browser ), 0 );
+ if ThreadItem = nil then begin
+ FActiveContent := nil;
+ BrowserTab.Repaint;
+ Exit;
end;
end;
- ThreadItem.UnRead := False;
ListView.Refresh;
end;
if (Assigned(Thread)) and (Assigned(Thread.Thread)) and (Thread <> nil) and (ThreadItem <>nil) then begin
FDispHtmlDocument: DispHTMLDocument;
BrowserRecord :TBrowserRecord;
i :Integer;
+ doc : Variant;
+ threadItem : TThreadItem;
begin
-// AddMessageList('DocumentComplete', nil);
+ AddMessageList('DocumentComplete', nil, gmiWhat);
if TObject(Sender) is TWebBrowser then begin
+ BrowserRecord := nil;
if TWebBrowser(Sender) <> Browser then begin
- BrowserRecord := nil;
for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(Sender) then begin
BrowserRecord := TBrowserRecord(BrowserTab.Tabs.Objects[i]);
BrowserRecord.FEvent.OnClick := WebBrowserClick; //\92Ç\89Á\82µ\82½OnClick\83C\83x\83\93\83g
end;
end else begin
- if GetActiveContent <> nil then begin
+ if GetActiveContent <> nil then begin
FDispHtmlDocument := Idispatch(OleVariant(Browser.ControlInterface).Document) as DispHTMLDocument;
if FEvent <> nil then
FEvent.Free;
FEvent.OnClick := WebBrowserClick; //\92Ç\89Á\82µ\82½OnClick\83C\83x\83\93\83g
end;
end;
+
+ if (BrowserRecord <> nil) and
+ Assigned( BrowserRecord.Thread ) then begin
+ threadItem := BrowserRecord.Thread;
+
+ if threadItem.UnRead then begin
+ BrowserMovement( 'new', BrowserRecord );
+ threadItem.UnRead := False;
+ end else if threadItem.ScrollTop <> 0 then begin
+ try
+ doc := Idispatch( OleVariant( BrowserRecord.Browser.ControlInterface ).Document ) as IHTMLDocument2;
+ doc.Body.ScrollTop := threadItem.ScrollTop;
+ except
+ on E: Exception do
+ MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
+ end;
+ end;
+ end;
end;
end;
end;
procedure TGikoForm.WndProc(var Message: TMessage);
+var
+ senderBrowser : TWebBrowser;
+ url : OleVariant;
begin
try
case Message.Msg of
OnMinimized;
USER_SETLINKBAR:
SetLinkBar;
+ USER_DOCUMENTCOMPLETE:
+ if (Message.WParam <> 0) and
+ (TObject(Message.WParam) is TWebBrowser) then begin
+ senderBrowser := TWebBrowser( Message.WParam );
+ BrowserDocumentComplete( senderBrowser, senderBrowser.Parent, url );
+ end;
end;
inherited;
end;
end;
// \90Ý\92è
- lResult := SendMessage( bar.Handle, RB_SETBANDINFO, i, Integer( pBandInfo ) );
+ lResult := SendMessage( bar.Handle, RB_SETBANDINFO, idx, Integer( pBandInfo ) );
end;
var
Wnd: THandle;
delta: Integer;
- browserPos : TPoint;
+// browserPos : TPoint;
const
ICON_SIZE = 16;
begin
end;
// TreeView \82ª\83N\83\8a\83b\83N\82³\82ê\82½
procedure TGikoForm.TreeClick( Node : TTreeNode );
-var
- i: Integer;
begin
if Node = nil then
procedure TGikoForm.TabsSaveToFileActionExecute(Sender: TObject);
var
SaveTabList: TStringList;
- Result: Boolean;
+ Result: Boolean;
begin
SaveTabList := TStringList.Create;
try