• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

ギコナビ


Commit MetaInfo

Revisão6faa0503d52b1bf2554969a389b2fd433d6e202c (tree)
Hora2005-11-03 17:12:48
Autorh677 <h677>
Commiterh677

Mensagem de Log

WebBrowserのスクロールのタイミングとかを修正

Mudança Sumário

Diff

--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,6 +1,6 @@
11 object GikoForm: TGikoForm
2- Left = 176
3- Top = 124
2+ Left = 597
3+ Top = 121
44 HorzScrollBar.Visible = False
55 VertScrollBar.Visible = False
66 AutoScroll = False
--- a/Giko.pas
+++ b/Giko.pas
@@ -3580,16 +3580,12 @@ begin
35803580 browserRec := InsertBrowserTab(Item.ThreadItem, True)
35813581 else
35823582 browserRec := InsertBrowserTab(Item.ThreadItem, False);
3583- if browserRec.Thread = BrowserNullTab.Thread then begin
3584- browserRec.Movement := BrowserNullTab.Movement;
3585- BrowserNullTab.Movement := '';
3586- end;
35873583 end else begin
35883584 if (GetActiveContent = Item.ThreadItem) or (FActiveContent = nil) or(FActiveContent.Browser = BrowserNullTab.Browser) then
35893585 InsertBrowserTab(Item.ThreadItem);
35903586 end;
35913587
3592- Application.ProcessMessages;
3588+ Application.ProcessMessages;
35933589
35943590 if Item.State = gdsComplete then begin
35953591 PlaySound('New');
@@ -3814,7 +3810,6 @@ begin
38143810 newBrowser.thread := ThreadItem;
38153811 // newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
38163812 newBrowser.Repaint := true;
3817-
38183813 i := BrowserTab.Tabs.AddObject(GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
38193814 if (not GikoSys.Setting.BrowserTabVisible) and (BrowserTab.Tabs.Count > 1) then begin
38203815 DeleteTab( TBrowserRecord( BrowserTab.Tabs.Objects[ 0 ] ) );
@@ -3958,17 +3953,51 @@ begin
39583953 Thread.Repaint := false;
39593954
39603955 Thread.Browser.OnStatusTextChange := nil;
3961- //doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
3956+
39623957
39633958 //GikoSys.CreateHTML2(doc, ThreadItem, sTitle);
39643959 HTMLCreater.CreateHTML2(olevariant(Thread.Browser.ControlInterface).Document, ThreadItem, sTitle);
3965- Thread.Browser.OnStatusTextChange := BrowserStatusTextChange;
3966-
3960+ doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
3961+ //ƒ[ƒh‚ªŠ®—¹‚·‚é‚Ü‚Å‘Ò‚Â
3962+ while (doc.readyState) <> 'complete' do begin
3963+ Application.ProcessMessages;
3964+ end;
39673965 if ThreadItem = nil then begin
39683966 FActiveContent := nil;
39693967 BrowserTab.Repaint;
39703968 Exit;
39713969 end;
3970+ /////////////////////////////////////////////////
3971+ //DocumentComplete‚©‚玝‚Á‚Ä‚«‚½B
3972+ if Length(Thread.Movement) > 0 then begin
3973+ if ThreadItem.UnRead then begin
3974+ ThreadItem.UnRead := False;
3975+ ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
3976+ if ThreadItem.ParentBoard.UnRead < 0 then threadItem.ParentBoard.UnRead := 0;
3977+ TreeView.Refresh;
3978+ ListView.Refresh;
3979+ end;
3980+ BrowserMovement( Thread.Movement, Thread );
3981+ Thread.Movement := '';
3982+ end else
3983+ if ThreadItem.UnRead then begin
3984+ ThreadItem.UnRead := False;
3985+ ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
3986+ if ThreadItem.ParentBoard.UnRead < 0 then ThreadItem.ParentBoard.UnRead := 0;
3987+ TreeView.Refresh;
3988+ BrowserMovement( 'new', Thread );
3989+ ListView.Refresh;
3990+ end else if ThreadItem.ScrollTop <> 0 then begin
3991+ try
3992+ doc.Body.ScrollTop := ThreadItem.ScrollTop;
3993+ except
3994+ on E: Exception do
3995+ MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
3996+ end;
3997+ end;
3998+ /////////////////////////////////////////////////
3999+ Thread.Browser.OnStatusTextChange := BrowserStatusTextChange;
4000+
39724001 end;
39734002 end;
39744003 if (Thread <> nil) and (ThreadItem <>nil) then begin
@@ -4767,12 +4796,13 @@ end;
47674796 procedure TGikoForm.BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord);
47684797 var
47694798 top: Integer;
4770- item: OleVariant;
47714799 nm: OleVariant;
47724800 activeBrower :TWebBrowser;
4801+ item : OleVariant;
4802+ link : IHTMLElement;
47734803 begin
47744804 //
4775- while (BrowserRecord.Browser.ReadyState <> READYSTATE_COMPLETE) and
4805+ while (BrowserRecord.Browser.ReadyState <> READYSTATE_COMPLETE) and
47764806 (BrowserRecord.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
47774807 Sleep(1);
47784808 Application.ProcessMessages;
@@ -6531,7 +6561,6 @@ var
65316561 doc : Variant;
65326562 threadItem : TThreadItem;
65336563 begin
6534-// AddMessageList('DocumentComplete', nil, gmiWhat);
65356564 if TObject(Sender) is TWebBrowser then begin
65366565 BrowserRecord := nil;
65376566 if TWebBrowser(Sender) <> Browser then begin
@@ -6558,39 +6587,7 @@ begin
65586587 FEvent.OnContextMenu := OnDocumentContextMenu;
65596588 FEvent.OnClick := WebBrowserClick; //’ljÁ‚µ‚½OnClickƒCƒxƒ“ƒg
65606589 end;
6561-
6562- end;
6563-
6564- if (BrowserRecord <> nil) and
6565- Assigned( BrowserRecord.Thread ) then begin
6566- threadItem := BrowserRecord.Thread;
65676590
6568- if (BrowserRecord <> nil) and (Length( BrowserRecord.Movement ) > 0) then begin
6569- if threadItem.UnRead then begin
6570- threadItem.UnRead := False;
6571- threadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
6572- if threadItem.ParentBoard.UnRead < 0 then threadItem.ParentBoard.UnRead := 0;
6573- TreeView.Refresh;
6574- ListView.Refresh;
6575- end;
6576- BrowserMovement( BrowserRecord.Movement, BrowserRecord );
6577- BrowserRecord.Movement := '';
6578- end else if threadItem.UnRead then begin
6579- threadItem.UnRead := False;
6580- threadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
6581- if threadItem.ParentBoard.UnRead < 0 then threadItem.ParentBoard.UnRead := 0;
6582- TreeView.Refresh;
6583- BrowserMovement( 'new', BrowserRecord );
6584- ListView.Refresh;
6585- end else if threadItem.ScrollTop <> 0 then begin
6586- try
6587- doc := Idispatch( OleVariant( BrowserRecord.Browser.ControlInterface ).Document ) as IHTMLDocument2;
6588- doc.Body.ScrollTop := threadItem.ScrollTop;
6589- except
6590- on E: Exception do
6591- MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
6592- end;
6593- end;
65946591 end;
65956592 end;
65966593 end;