close







VB顏色RGB相關的問題




立即點擊


PrivateSubForm_Load()X=Rate(113-118)'x值113到118之間都可以動作Y=Rate(124-152)'y值124到152之間都可以動作Z=Rate(111-222)'z值111到222之間都可以動作EndSubPrivateSubTimer1_Timer()IfText1.BackColor=RGB(X,Y,Z)ThenText2=123EndIfEndSub為什麼他就是不動作想是RATE不為引數那該怎樣改才對可以的話可以列出完整的程式碼講理論我不懂有程式我就懂了顯示更多PrivateSubForm_Load()X=Rate(113-118)'x值113到118之間都可以動作Y=Rate(124-152)'y值124到152之間都可以動作Z=Rate(111-222)'z值111到222之間都可以動作EndSubPrivateSubTimer1_Timer()IfText1.BackColor=RGB(X,Y,Z)ThenText2=123EndIfEndSub為什麼他就是不動作想是RATE不為引數那該怎樣改才對可以的話可以列出完整的程式碼講理論我不懂有程式我就懂了更新:回答者:墊腳石執行時TEXT2並沒有=123還是顯示原來的"TEXT2"字樣沒反應耶Timer1的Interval我有輸入100並沒有忘記設定





你想去找抓 Text1 的背景色,如果在那色碼範圍內就動作是不是呢 如果是這樣,你不必 Form_Load。只要 Timer1_Timer 就好了,如下 Private Sub Timer1_Timer() Dim Target_Color As Long Dim intR As Integer Dim intG As Integer Dim intB As Integer ' 取得 Text1 的背景色 Target_Color = Text1.BackColor ' 算出它的 RGB 各碼 intR = Target_Color Mod 256: Target_Color = (Target_Color - intR) / 256 intG = Target_Color Mod 256 intB = (Target_Color - intG) / 256 ' 判斷 RGB 各碼有沒有在範圍內 If (intR > 113 And intR < 118) And _ (intG > 124 And intG < 152) And _ (intB > 111 And intB < 222) Then Text2.Text = 123 End If End Sub 2006-11-28 21:55:32 補充: 如果你是要學 RATE 的用法,那當然不適用。RATE是用來算利息的,不是那麼聰明可以判斷一個數在不在範圍中。可以看EXCEL 的說明及試算看看 2006-11-29 00:48:52 補充: intR = Target_Color Mod 256: Target_Color = (Target_Color - intR) / 256intG = Target_Color Mod 256intB = (Target_Color - intG) / 256Debug.print intA, intB, intC如上,加入 Debug.print 檢查結果,核對取得的 RGB 與 TEXT1 的顏色值





請在PrivateSubForm_Load()上面加一行DimX,Y,ZX,Y,Z的值不管Timer跑幾次值都是一樣的吧因為你的X,Y,Z是在Form_Load中做的。


以上文章來自奇摩知識家,如有侵犯請留言告知


https://tw.answers.yahoo.com/question/index?qid=20061128000012KK09549

C902071D09AF7660
arrow
arrow

    雞排妹伴遊 發表在 痞客邦 留言(0) 人氣()