駄目ですね(ボケ問題三度)
時計や三角形レベルならDrawで構成できますが、考えてみたらNotifyIconの種類たくさんあるんでしたわ。(ちなみにコンテキストメニューはNostretchでdot by dotいけるのね)
問題なのは3 digit counterのデジタル文字。16*16のサイズに収めるためFroms版では極小のセグメントの文字をBitmapで作成してそいつをオフセット調整して切り貼って画像にしてたんですが、これ全部ボケますよね・・・
原寸↓
VB+Forms版でも秒表示のデジタルフォント風のものはDrawLineで描画しているので、それを改変してできるはずと思い、VB見返してみたが自分で何を書いているのかわからなかった・・・
'数字描画用の座標値。上から順番に0~9ReadOnlyMycoordinate()AsString={"4,1,4,8/4,8,7,8/7,8,7,1/7,1,4,1","1,8,7,8","1,1,1,8/1,8,4,8/4,8,4,1/4,1,7,1/7,1,7,8","1,1,1,8/1,8,4,8/4,8,4,2/4,8,7,8/7,8,7,1","1,1,4,1/4,1,4,8/1,8,7,8","1,8,1,1/1,1,4,1/4,1,4,8/4,8,7,8/7,8,7,1","1,4,4,1/4,1,7,1/7,1,7,8/7,8,4,8/4,8,4,1","1,1,1,8/1,8,7,8","1,8,1,1/1,1,4,1/4,1,4,8/4,8,7,8/7,8,7,1/7,1,4,1/4,1,4,8/4,8,1,8","1,8,1,1/1,1,4,1/4,1,4,8/1,8,4,8/4,8,7,4"}'・・・中略PrivateSubDigitalFig()'秒2桁をそれぞれ描画してアイコン化するDimsec=Strings.Right("0"&Second(Now),2)Dimfig(2)AsIntegerDimcanvasAsNewBitmap(16,16)DimgAsGraphics=Graphics.FromImage(canvas)DimpAsNewPen(Color.White,1)fig(0)=Mid(sec,1,1)fig(1)=Mid(sec,2,1)'デジタル文字DimfontSizeAsInteger=7Forj=0To1DimsegList1()DimsegList2()segList1=Split(Mycoordinate(fig(j)),"/")Fori=0ToUBound(segList1)segList2=Split(segList1(i),",")DimstPtAsNewPoint((canvas.Width/2*j+1)+(fontSize/8)*(segList2(1)-1),2+(12/8)*(segList2(0)))DimedPtAsNewPoint((canvas.Width/2*j+1)+(fontSize/8)*(segList2(3)-1),2+(12/8)*(segList2(2)))g.DrawLine(p,stPt,edPt)NextiNextjDimHicon=canvas.GetHicon()DimnewIcon=Icon.FromHandle(Hicon)Me.NotifyIcon1.Icon=newIconp.Dispose()g.Dispose()DestroyIcon(newIcon.Handle)canvas.Dispose()Me.Timer1.Interval=1000EndSub
自身テレワークが始まって、立ち上がりっぱなしのリモート先になったので、ツールが意味を失いつつあります。
TransitionのStep数を500とかにすると、粘っこくコントロールがアレンジされて行って不気味な趣が。