hejsan... är lite svårt att förklara mitt problem så om ni har tid att ta en liten titt på mitt program så kommer ni att förstå direkt... Har försökt en snabbis med att hindra tangenttryckningen i KeyDown. Fungerar någolunda, men är inte särskilt snyggt. Tror att du gett dig in på ett stort ävenyr. Finns mycket man måste tänka på. tackar... det där löste en hel del problem i koden... nästan allt fungerar nu utom att man kan ta bort om man markerar texten.. jag har då iaf ingen som hällst aning hur man skulle kunna lösa det så den buggen får väll vara kvar om ingen här lyckas på något sätt...Ett litet problem...
http://d1o959.telia.com/~u91110966/editor/isf%20Editor.zip
det jag vill ska ske är att det bara ska gå att ändra den vita texten i programmet, inget annat. som det är nu så om man suddar i den vita texten så suddra den även det gula likamedtecknet (=) också...
(sen finns det en annan liten sak inte så vilktig men om man merkerar texten och suddar så försvinner texten vilken färg den än är)
tack på förhand för att ni orkade ta en titt på mitt problem
//DoRsalSv: Ett litet problem...
Kanske får några idéer från min hemska kod:
Private Sub RTB_KeyDown(KeyCode As Integer, Shift As Integer)
Dim SelStart As Long
Dim SelLength As Long
SelStart = RTB.SelStart
SelLength = RTB.SelLength
Select Case KeyCode
Case vbKeyLeft, vbKeyUp, vbKeyRight, vbKeyDown
Case vbKeyBack
RTB.SelStart = SelStart - 1
RTB.SelLength = 1
If RTB.SelColor <> vbWhite Then
KeyCode = 0
End If
RTB.SelStart = SelStart
RTB.SelLength = SelLength
Case vbKeyDelete
RTB.SelStart = SelStart + 1
RTB.SelLength = 1
If RTB.SelColor <> vbWhite Then
KeyCode = 0
End If
RTB.SelStart = SelStart
RTB.SelLength = SelLength
Case Else
If RTB.SelColor <> vbWhite Then
KeyCode = 0
End If
End Select
End Sub
Alternativ resize kod:
Private Sub Form_Resize()
On Error Resume Next
RTB.Move 0, 0, ScaleWidth, ScaleHeight - (StatusBar1.Height And StatusBar1.Visible)
End Sub
Några små optimeringar i öppnings koden :
Private Sub mnuOpen_Click()
Dim MyString As String
Dim temp() As String
With CommonDialog1
.CancelError = True
On Error GoTo canceled
.Filter = "Inno Språk fil (*.isl)|*.isl|Ini fil (*.ini)|*.ini"
.FilterIndex = 1
.DialogTitle = "Välj fil:"
.ShowOpen
End With
On Error GoTo 0
RTB.Text = ""
intfile = FreeFile
Open CommonDialog1.FileName For Input As #intfile
Do Until EOF(intfile) ' Loop until end of file.
Line Input #intfile, MyString ' Read data into two variables.
Select Case Left(MyString, 1)
Case Chr(59)
RTB.SelColor = vbGreen
RTB.SelText = MyString & vbCrLf
Case Chr(91)
RTB.SelColor = vbMagenta
RTB.SelText = MyString & vbCrLf
Case Else
RTB.SelColor = vbWhite
If Len(MyString) Then
temp = Split(MyString, "=")
RTB.SelColor = vbCyan
RTB.SelText = temp(0)
Select Case UBound(temp)
Case 1
RTB.SelColor = vbYellow
RTB.SelText = "="
RTB.SelColor = vbWhite
RTB.SelText = temp(1) & vbCrLf
Case 0
RTB.SelText = vbCrLf
End Select
Else
RTB.SelText = vbCrLf
End If
End Select
Loop
Close #intfile
canceled:
Exit Sub
nolikame:
RTB.SelText = MyString & vbCrLf
End SubSv: Ett litet problem...
tack för hjälpen iaf