μ˜€λŠ˜μ€ 톡합단말 ν™”λ©΄ κ°œλ°œμ—μ„œ 자주 μ‚¬μš©λ˜λŠ” 이벀트 ν•¨μˆ˜λ“€μ„ μ •λ¦¬ν•˜κ³ ,
κ·Έλ™μ•ˆ ν™”λ©΄λ“€μ—μ„œ 자주 λ³΄μ˜€λ˜ ν•¨μˆ˜λ“€μ„ μ‘°μ‚¬ν•΄μ„œ μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ ν•˜λ‚˜ν•˜λ‚˜ μ΅νžˆλŠ” μ‹œκ°„μ„ κ°€μ‘Œλ‹€.
λΆ€μ‘±ν•œ μ„€λͺ…이 있던 ν•¨μˆ˜λ“€λ„ μ •ν™•ν•œ 의미λ₯Ό μ°Ύμ•„μ„œ λ©”λͺ¨ν–ˆλ‹€.


πŸ“… 2025-04-16 톡합단말 이벀트 ν•¨μˆ˜ 정리


πŸ“Œ Combo / Control / Grid κ΄€λ ¨ μ£Όμš” ν•¨μˆ˜

ν•¨μˆ˜λͺ…μ„€λͺ…
.AddComboItems("4-ν…ŒμŠ€νŠΈ;5-ν…ŒμŠ€νŠΈ")μ½€λ³΄λ°•μŠ€μ— ν•­λͺ©μ„ 직접 좔가함 (key-value ν˜•μ‹)
.Captionν•΄λ‹Ή μ»¨νŠΈλ‘€μ— ν‘œμ‹œλ˜λŠ” λ¬Έμžμ—΄ μ„€μ •/쑰회
.ChangeComboDataFromFile(instanceCode)λ“±λ‘λœ μ½”λ“œ 콀보 μΈμŠ€ν„΄μŠ€ 값을 λΆˆλŸ¬μ™€ 콀보에 μ„€μ •
.Clear()컨트둀의 데이터λ₯Ό μ‚­μ œ (이벀트 포함)
.ClearComboData()콀보 컨트둀 λ‚΄ λͺ¨λ“  ν•­λͺ© μ‚­μ œ
.ClearData()컨트둀 데이터λ₯Ό μ‚­μ œν•˜λ©΄μ„œ μ΄λ²€νŠΈλ„ ν•¨κ»˜ λ°œμƒ
.ClearValue()데이터λ₯Ό μ‚­μ œν•˜μ§€λ§Œ μ΄λ²€νŠΈλŠ” λ°œμƒμ‹œν‚€μ§€ μ•ŠμŒ
.Dataν•΄λ‹Ή 컨트둀의 데이터 값을 μ„€μ •/쑰회
.DeleteItemByIndex(index)μ½€λ³΄λ°•μŠ€ ν•­λͺ© 쀑 μ§€μ •λœ 인덱슀λ₯Ό μ‚­μ œ
.DeleteItemByKey(key)μ§€μ •λœ ν‚€ 값을 κ°€μ§„ ν•­λͺ© μ‚­μ œ
.DeleteItemByValue(value)μ§€μ •λœ ν•­λͺ© 값을 κ°€μ§„ ν•­λͺ© μ‚­μ œ
.Enabled컨트둀 ν™œμ„±ν™” μ—¬λΆ€ μ„€μ • / 쑰회
.GetComboIndex()ν˜„μž¬ μ„ νƒλœ ν•­λͺ©μ˜ 인덱슀 κ°’ λ°˜ν™˜
.GetComboKey()ν˜„μž¬ μ„ νƒλœ ν•­λͺ©μ˜ Key λ°˜ν™˜
.GetComboValue()ν˜„μž¬ μ„ νƒλœ ν•­λͺ©μ˜ Value λ°˜ν™˜
.GetCurIndex()μ„ νƒλœ ν•­λͺ©μ˜ 인덱슀λ₯Ό κ°€μ Έμ˜΄ (μ€‘λ³΅λœ μ˜λ―Έμ§€λ§Œ λ‚΄λΆ€ λ‹€λ₯Ό 수 있음)
.GetCurSel()μ„ νƒλœ ν•­λͺ©μ˜ κ°’(Key/Value λ“±)을 κ°€μ Έμ˜΄
.GetItemCount()콀보 ν•­λͺ© 개수 쑰회
Button.Invalidate()λ²„νŠΌμ„ λ‹€μ‹œ κ·Έλ¦¬λŠ” λͺ…λ Ή (κ²ΉμΉ¨ 처리 μ‹œ 유용)
.KeyValidation(row, col)μ§€μ •λœ ν–‰/열이 콀보일 λ•Œ Key μœ νš¨μ„± 검사 μ—¬λΆ€ μ„€μ •
Combo.Lengthμ½€λ³΄λ°•μŠ€ 컨트둀의 길이 μ„€μ •
Grid.DataSaveName(row, "컬럼λͺ…")ν–‰μ˜ νŠΉμ • 컬럼 데이터 이름 μ„€μ •
Grid.DataRequired(row, "컬럼λͺ…")ν•΄λ‹Ή μ»¬λŸΌμ„ ν•„μˆ˜ μž…λ ₯ ν•­λͺ©μœΌλ‘œ μ„€μ •
Grid.DataRowsν˜„μž¬ κ·Έλ¦¬λ“œμ˜ 총 ν–‰(row) 수 λ°˜ν™˜
Combo.setCondition("1-5")쑰건 μ§€μ •μœΌλ‘œ μ½”λ“œ 리슀트 필터링
Control.SetFocus()ν•΄λ‹Ή 컨트둀둜 포컀슀λ₯Ό 이동

πŸ“Œ 자주 λ³΄μ΄λŠ” 단말 이벀트 ν•¨μˆ˜ 정리

ν•¨μˆ˜λͺ…μ„€λͺ…
OnInitScreen()화면이 졜초 λ‘œλ”©λ  λ•Œ μžλ™ μ‹€ν–‰λ˜λŠ” μ΄ˆκΈ°ν™” ν•¨μˆ˜
OnClick()λ²„νŠΌ 클릭 μ‹œ μ‹€ν–‰λ˜λŠ” 이벀트
OnEndTran()νŠΈλžœμž­μ…˜ μ™„λ£Œ ν›„ μ‹€ν–‰λ˜λŠ” ν›„μ²˜λ¦¬ 이벀트
OnItemChanged()ν•­λͺ© λ³€κ²½ μ‹œ μ‹€ν–‰λ˜λŠ” 이벀트 (예: Combo λ³€κ²½)
OnValidate()데이터 μž…λ ₯ ν›„ 포컀슀 아웃 μ‹œ μ‹€ν–‰λ˜λŠ” μœ νš¨μ„± 검사 이벀트
ClearLinkData()μ—°κ²°λœ 데이터 λͺ¨λ‘ μ΄ˆκΈ°ν™”
getAccDate()κΈ°μ€€μΌμž(μ—…λ¬΄μΌμž λ“±) κ°€μ Έμ˜€λŠ” ν•¨μˆ˜
SetCellFontColor(row, col, color)κ·Έλ¦¬λ“œ μ…€μ˜ 폰트 색상 λ³€κ²½
SetCellValue(row, col, value)νŠΉμ • 셀에 κ°’ μ„€μ •
RowCount()κ·Έλ¦¬λ“œμ˜ ν–‰ 개수 λ°˜ν™˜
setFocus()νŠΉμ • μ»¨νŠΈλ‘€μ΄λ‚˜ 셀에 포컀슀 μ„€μ •
getByteLength(str)λ¬Έμžμ—΄μ˜ λ°”μ΄νŠΈ 길이 λ°˜ν™˜ (ν•œκΈ€ 2byte κ³„μ‚°μš©)
Trim(str)λ¬Έμžμ—΄μ˜ μ•žλ’€ 곡백 제거
.TrantypeνŠΈλžœμž­μ…˜ μ’…λ₯˜ μ„€μ • λ˜λŠ” 확인 (쑰회/등둝/μˆ˜μ • λ“±)
.Value컨트둀의 κ°’ κ°€μ Έμ˜€κΈ° λ˜λŠ” μ„€μ •

🧠 였늘의 κΉ¨λ‹¬μŒ

  • β€œμ΄λ²€νŠΈ ν•¨μˆ˜κ°€ λ§Žμ•„ λ³΄μ΄μ§€λ§Œ, κ²°κ΅­ λͺ©μ μ€ κ°™μŒ: μ‚¬μš©μž μž…λ ₯을 μ œμ–΄ν•˜κ³  μ‹œμŠ€ν…œκ³Όμ˜ 연결을 λ§€λ„λŸ½κ²Œ ν•˜λ €λŠ” 것”
  • ν•˜λ‚˜ν•˜λ‚˜ 써보고 해봐야 기얡에 λ‚¨λŠ”λ‹€. 특히 OnEndTran()은 단말 트랜 μ’…λ£Œ ν›„ ν›„μ²˜λ¦¬μ˜ 핡심